Browse Source

REPORT-39772 提示控件/组件名称不能为空

feature/big-screen
pengda 4 years ago
parent
commit
88323745b6
  1. 28
      designer-form/src/main/java/com/fr/design/designer/creator/CRPropertyDescriptorPane.java
  2. 2
      designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java

28
designer-form/src/main/java/com/fr/design/designer/creator/CRPropertyDescriptorPane.java

@ -139,15 +139,9 @@ public class CRPropertyDescriptorPane {
try { try {
Object value = propertyEditor.getValue(); Object value = propertyEditor.getValue();
Method m = crPropertyDescriptor.getWriteMethod(); Method m = crPropertyDescriptor.getWriteMethod();
if (ComparatorUtils.equals(m.getName(), "setWidgetName")) { if (ComparatorUtils.equals(m.getName(), "setWidgetName") && value != null) {
String toSetWidgetName = value.toString(); if (!isWidgetNameValid(value, widget)) {
String currentWidgetName = widget.getWidgetName(); value = widget.getWidgetName();
boolean exist = designer.getTarget().isNameExist(toSetWidgetName) && !ComparatorUtils.equals(toSetWidgetName, currentWidgetName);
if (toSetWidgetName.isEmpty()) {
value = currentWidgetName;
} else if (exist) {
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, IOUtils.readIcon("com/fr/design/form/images/joption_failure.png"));
return;
} }
} }
m.invoke(widget, value); m.invoke(widget, value);
@ -157,4 +151,20 @@ public class CRPropertyDescriptorPane {
} }
} }
/**
* 设置控件名之前校验一下不能为空不能重名
*/
public boolean isWidgetNameValid(Object value, Widget widget) {
String toSetWidgetName = value.toString();
String currentWidgetName = widget.getWidgetName();
boolean exist = designer.getTarget().isNameExist(toSetWidgetName) && !ComparatorUtils.equals(toSetWidgetName, currentWidgetName);
if (toSetWidgetName.isEmpty()) {
return false;
} else if (exist) {
//控件重名,弹出提示
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, IOUtils.readIcon("com/fr/design/form/images/joption_failure.png"));
return false;
}
return true;
}
} }

2
designer-form/src/main/java/com/fr/design/mainframe/widget/ui/FormWidgetCardPane.java

@ -42,7 +42,6 @@ import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import java.awt.BorderLayout; import java.awt.BorderLayout;
/** /**
* Created by ibm on 2017/7/25. * Created by ibm on 2017/7/25.
*/ */
@ -221,7 +220,6 @@ public class FormWidgetCardPane extends AbstractAttrNoScrollPane {
boolean exist = designer.getTarget().isNameExist(toSetWidgetName) && !ComparatorUtils.equals(toSetWidgetName, currentWidgetName); boolean exist = designer.getTarget().isNameExist(toSetWidgetName) && !ComparatorUtils.equals(toSetWidgetName, currentWidgetName);
if (toSetWidgetName.isEmpty()) { if (toSetWidgetName.isEmpty()) {
widgetNameField.setText(currentWidgetName); widgetNameField.setText(currentWidgetName);
return;
} else if (exist) { } else if (exist) {
widgetNameField.setText(currentWidgetName); widgetNameField.setText(currentWidgetName);
JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, IOUtils.readIcon("com/fr/design/form/images/joption_failure.png")); JOptionPane.showMessageDialog(DesignerContext.getDesignerFrame(), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Widget_Rename_Failure"), com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Form_Joption_News"), JOptionPane.ERROR_MESSAGE, IOUtils.readIcon("com/fr/design/form/images/joption_failure.png"));

Loading…
Cancel
Save