Skip to content

Commit dcd65de

Browse files
authored
Merge pull request #89 from BobHanson/hanson1
Hanson1
2 parents 404b1d2 + 6c20691 commit dcd65de

41 files changed

Lines changed: 613 additions & 517 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
270 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20190319211418
1+
20190323074004
270 Bytes
Binary file not shown.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20190319211418
1+
20190323074004
270 Bytes
Binary file not shown.

sources/net.sf.j2s.java.core/src/java/awt/Container.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1076,6 +1076,7 @@ protected void addImplCont(Component comp, Object constraints, int index) {
10761076

10771077
if (/** @j2sNative comp.getWrap$ && !this.isWrapper$ || */ false) {
10781078
comp = ((A2SWrappedComponent) comp).getWrap$();
1079+
comp.background = comp.foreground = null; // this parent should not set the background color
10791080
}
10801081
// SwingJS used for all add methods
10811082

sources/net.sf.j2s.java.core/src/java/awt/JSComponent.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,15 @@ public String getUIClassID() {
262262
return (uiClassID == null ? uiClassID = "ComponentUI" : uiClassID);
263263
}
264264

265+
/**
266+
* for JSToolkit use only
267+
* @param id
268+
*/
269+
public void setUIClassID(String id) {
270+
uiClassID = id;
271+
}
272+
273+
265274
/**
266275
* required by Container, but not actually ever called,
267276
* because all Containers are JComponents in SwingJS

sources/net.sf.j2s.java.core/src/java/awt/Window.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1168,6 +1168,12 @@ final void toFront_NoClientCode() {
11681168
if (isModalBlocked()) {
11691169
modalBlocker.toFront_NoClientCode();
11701170
}
1171+
1172+
for (int i = 0; i < ownedWindowList.size(); i++) {
1173+
if (ownedWindowList.get(i).isVisible())
1174+
ownedWindowList.get(i).toFront();
1175+
}
1176+
11711177
}
11721178
}
11731179

sources/net.sf.j2s.java.core/src/javax/swing/DefaultComboBoxModel.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
public class DefaultComboBoxModel<E> extends AbstractListModel<E> implements MutableComboBoxModel<E> {
4141
Vector<E> objects;
4242
Object selectedObject;
43+
private boolean _isQuiet;
4344

4445
/**
4546
* Constructs an empty DefaultComboBoxModel object.
@@ -92,7 +93,8 @@ public void setSelectedItem(Object anObject) {
9293
if ((selectedObject != null && !selectedObject.equals( anObject )) ||
9394
selectedObject == null && anObject != null) {
9495
selectedObject = anObject;
95-
fireContentsChanged(this, -1, -1);
96+
if (!_isQuiet)
97+
fireContentsChanged(this, -1, -1);
9698
}
9799
}
98100

@@ -134,10 +136,11 @@ public void addElement(E anObject) {
134136
objects.addElement(anObject);
135137
fireIntervalAdded(this,objects.size()-1, objects.size()-1);
136138
if ( objects.size() == 1 && selectedObject == null && anObject != null ) {
137-
setSelectedItem( anObject );
139+
_setSelectedItemQuiet(anObject);
138140
}
139141
}
140142

143+
141144
// implements javax.swing.MutableComboBoxModel
142145
@Override
143146
public void insertElementAt(E anObject,int index) {
@@ -148,14 +151,9 @@ public void insertElementAt(E anObject,int index) {
148151
// implements javax.swing.MutableComboBoxModel
149152
@Override
150153
public void removeElementAt(int index) {
151-
if ( getElementAt( index ) == selectedObject ) {
152-
if ( index == 0 ) {
153-
setSelectedItem( getSize() == 1 ? null : getElementAt( index + 1 ) );
154-
}
155-
else {
156-
setSelectedItem( getElementAt( index - 1 ) );
157-
}
158-
}
154+
if ( getElementAt( index ) == selectedObject )
155+
_setSelectedItemQuiet(index > 0 ? getElementAt( index - 1 )
156+
: getSize() == 1 ? null : getElementAt( index + 1 ) );
159157

160158
objects.removeElementAt(index);
161159

@@ -185,4 +183,10 @@ public void removeAllElements() {
185183
selectedObject = null;
186184
}
187185
}
186+
187+
void _setSelectedItemQuiet(Object o) {
188+
_isQuiet = (/**@j2sNative !!this.isAWT$ || */false);
189+
setSelectedItem( o );
190+
_isQuiet = false;
191+
}
188192
}

sources/net.sf.j2s.java.core/src/javax/swing/JComboBox.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,9 @@ public void setModel(ComboBoxModel aModel) {
305305
}
306306
dataModel = aModel;
307307
dataModel.addListDataListener(this);
308+
/** @j2sNative
309+
* aModel.isAWT$ = this.isAWT$
310+
*/
308311

309312
// set the current selected item.
310313
selectedItemReminder = dataModel.getSelectedItem();
@@ -544,7 +547,8 @@ public ComboBoxEditor getEditor() {
544547
* preferred: true
545548
* description: Sets the selected item in the JComboBox.
546549
*/
547-
public void setSelectedItem(Object anObject) {
550+
@SuppressWarnings("unused")
551+
public void setSelectedItem(Object anObject) {
548552
Object oldSelection = selectedItemReminder;
549553
Object objectToSelect = anObject;
550554
if (oldSelection == null || !oldSelection.equals(anObject)) {
@@ -569,7 +573,11 @@ public void setSelectedItem(Object anObject) {
569573
// Must toggle the state of this flag since this method
570574
// call may result in ListDataEvents being fired.
571575
selectingItem = true;
572-
dataModel.setSelectedItem(objectToSelect);
576+
if (_trigger || /** @j2sNative !this.isAWT$ &&*/true) {
577+
dataModel.setSelectedItem(objectToSelect);
578+
} else {
579+
((DefaultComboBoxModel)dataModel)._setSelectedItemQuiet(objectToSelect);
580+
}
573581
selectingItem = false;
574582

575583
if (selectedItemReminder != dataModel.getSelectedItem()) {
@@ -1025,6 +1033,7 @@ public String getActionCommand() {
10251033

10261034
private Action action;
10271035
private PropertyChangeListener actionPropertyChangeListener;
1036+
protected boolean _trigger;
10281037

10291038
/**
10301039
* Sets the <code>Action</code> for the <code>ActionEvent</code> source.
@@ -1268,7 +1277,7 @@ protected void fireActionEvent() {
12681277
* or override.
12691278
*/
12701279
protected void selectedItemChanged() {
1271-
if (selectedItemReminder != null ) {
1280+
if (selectedItemReminder != null && /** @j2sNative !this.isAWT$ && */true) {
12721281
fireItemStateChanged(new ItemEvent(this,ItemEvent.ITEM_STATE_CHANGED,
12731282
selectedItemReminder,
12741283
ItemEvent.DESELECTED));
@@ -1587,6 +1596,10 @@ protected String paramString() {
15871596
",selectedItemReminder=" + selectedItemReminderString;
15881597
}
15891598

1599+
public void _setTrigger(boolean b) {
1600+
_trigger = b;
1601+
}
1602+
15901603

15911604
///////////////////
15921605
// Accessibility support

0 commit comments

Comments
 (0)