Browse Source

REPORT-4683 [9.0二轮回归]复选框控件控件值第二次点击绑定字段时,设计器卡死

master
kerry 7 years ago
parent
commit
caf8788a56
  1. 2
      designer_base/src/com/fr/design/gui/icombobox/LazyComboBox.java
  2. 6
      designer_base/src/com/fr/design/gui/itextfield/UITextField.java

2
designer_base/src/com/fr/design/gui/icombobox/LazyComboBox.java

@ -175,8 +175,10 @@ public abstract class LazyComboBox extends UIComboBox implements PopupMenuListen
this.item = item; this.item = item;
this.setting = true; this.setting = true;
textField.setSetting(true);
String newText = (item == null) ? "" : item.toString(); String newText = (item == null) ? "" : item.toString();
textField.setText(newText); textField.setText(newText);
textField.setSetting(false);
this.setting = false; this.setting = false;
} }

6
designer_base/src/com/fr/design/gui/itextfield/UITextField.java

@ -25,6 +25,8 @@ public class UITextField extends JTextField implements UIObserver, GlobalNameObs
private String textFeildName = ""; private String textFeildName = "";
private GlobalNameListener globalNameListener = null; private GlobalNameListener globalNameListener = null;
private Dimension preferredSize = null; private Dimension preferredSize = null;
//有些情况下setText的时候不希望触发attributeChange,添加一个属性标识
private boolean isSetting = false;
public UITextField() { public UITextField() {
super(); super();
@ -79,6 +81,7 @@ public class UITextField extends JTextField implements UIObserver, GlobalNameObs
} }
public void setPreferredSize(Dimension preferredSize) { public void setPreferredSize(Dimension preferredSize) {
this.preferredSize = preferredSize; this.preferredSize = preferredSize;
} }
@ -88,6 +91,9 @@ public class UITextField extends JTextField implements UIObserver, GlobalNameObs
} }
protected void attributeChange() { protected void attributeChange() {
if(isSetting){
return;
}
if (globalNameListener != null && shouldResponseNameListener()) { if (globalNameListener != null && shouldResponseNameListener()) {
globalNameListener.setGlobalName(textFeildName); globalNameListener.setGlobalName(textFeildName);
} }

Loading…
Cancel
Save