|
|
|
@ -64,7 +64,6 @@ public class TableDataDictPane extends FurtherBasicBeanPane<TableDataDictionary>
|
|
|
|
|
private ItemListener itemListener; |
|
|
|
|
private UIObserverListener uiObserverListener; |
|
|
|
|
private FormulaEditor localFormulaEditor = new FormulaEditor(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parameter_Formula")); |
|
|
|
|
private boolean needTableDataChange = true; |
|
|
|
|
|
|
|
|
|
public TableDataDictPane() { |
|
|
|
|
initBasicComponets(); |
|
|
|
@ -72,14 +71,6 @@ public class TableDataDictPane extends FurtherBasicBeanPane<TableDataDictionary>
|
|
|
|
|
iniListener(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 设置为true后,一旦触发TableDataComboBox的itemChange,就会通过数据连接,更换当前数据字典的列名List |
|
|
|
|
* @param needTableDataChange |
|
|
|
|
*/ |
|
|
|
|
public void setNeedTableDataChange(boolean needTableDataChange) { |
|
|
|
|
this.needTableDataChange = needTableDataChange; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public static void main(String[] args) { |
|
|
|
|
JFrame jf = new JFrame("test"); |
|
|
|
|
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); |
|
|
|
@ -169,58 +160,38 @@ public class TableDataDictPane extends FurtherBasicBeanPane<TableDataDictionary>
|
|
|
|
|
if (tableDataWrappe == null) { |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
|
if (itemListener != null) { |
|
|
|
|
itemListener.itemStateChanged(e); |
|
|
|
|
localFormulaEditor.addChangeListener(event -> itemListener.itemStateChanged(e)); |
|
|
|
|
} |
|
|
|
|
if (isNeedTableDataChange()) { |
|
|
|
|
changeColumnsName(); |
|
|
|
|
List<String> namelist = tableDataWrappe.calculateColumnNameList(); |
|
|
|
|
String[] columnNames = null; |
|
|
|
|
if (!namelist.isEmpty()) { |
|
|
|
|
columnNames = namelist.toArray(ArrayUtils.EMPTY_STRING_ARRAY); |
|
|
|
|
} else { |
|
|
|
|
columnNames = new String[]{StringUtils.EMPTY}; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private void changeColumnsName() { |
|
|
|
|
TableDataWrapper tableDataWrappe = this.tableDataNameComboBox.getSelectedItem(); |
|
|
|
|
SwingWorker<List<String>, Object> worker = new SwingWorker<List<String>, Object>() { |
|
|
|
|
@Override |
|
|
|
|
protected List<String> doInBackground() { |
|
|
|
|
if (tableDataWrappe == null) { |
|
|
|
|
return new ArrayList<>(); |
|
|
|
|
} |
|
|
|
|
return tableDataWrappe.calculateColumnNameList(); |
|
|
|
|
} |
|
|
|
|
// 实际值列名
|
|
|
|
|
ColumnNameEditor actualColumnNameEditor = new ColumnNameEditor(columnNames); |
|
|
|
|
actualColumnNameEditor.addItemListener(itemListener); |
|
|
|
|
// 实际值列序号
|
|
|
|
|
ColumnIndexEditor actualColumnIndexEditor = new ColumnIndexEditor(columnNames.length); |
|
|
|
|
actualColumnIndexEditor.addItemListener(itemListener); |
|
|
|
|
keyColumnPane.setEditors(new Editor[]{actualColumnNameEditor, actualColumnIndexEditor}, columnNames[0]); |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
protected void done() { |
|
|
|
|
try { |
|
|
|
|
List<String> namelist = get(); |
|
|
|
|
String[] columnNames = null; |
|
|
|
|
if (!namelist.isEmpty()) { |
|
|
|
|
columnNames = namelist.toArray(ArrayUtils.EMPTY_STRING_ARRAY); |
|
|
|
|
} else { |
|
|
|
|
columnNames = new String[]{StringUtils.EMPTY}; |
|
|
|
|
} |
|
|
|
|
// 实际值列名
|
|
|
|
|
ColumnNameEditor actualColumnNameEditor = new ColumnNameEditor(columnNames); |
|
|
|
|
actualColumnNameEditor.addItemListener(itemListener); |
|
|
|
|
// 实际值列序号
|
|
|
|
|
ColumnIndexEditor actualColumnIndexEditor = new ColumnIndexEditor(columnNames.length); |
|
|
|
|
actualColumnIndexEditor.addItemListener(itemListener); |
|
|
|
|
keyColumnPane.setEditors(new Editor[]{actualColumnNameEditor, actualColumnIndexEditor}, columnNames[0]); |
|
|
|
|
|
|
|
|
|
localFormulaEditor.setEnabled(true); |
|
|
|
|
// 显示值列名
|
|
|
|
|
ColumnNameEditor displayColumnNameEditor = new ColumnNameEditor(columnNames); |
|
|
|
|
displayColumnNameEditor.addItemListener(itemListener); |
|
|
|
|
// 显示值列序号
|
|
|
|
|
ColumnIndexEditor displayColumnIndexEditor = new ColumnIndexEditor(columnNames.length); |
|
|
|
|
displayColumnIndexEditor.addItemListener(itemListener); |
|
|
|
|
valueDictPane.setEditors(new Editor[]{displayColumnNameEditor, displayColumnIndexEditor, localFormulaEditor}, columnNames[0]); |
|
|
|
|
} catch (InterruptedException | ExecutionException e) { |
|
|
|
|
FineLoggerFactory.getLogger().error(e.getMessage(), e); |
|
|
|
|
} |
|
|
|
|
FormulaEditor formulaEditor = new FormulaEditor(com.fr.design.i18n.Toolkit.i18nText("Fine-Design_Basic_Parameter_Formula")); |
|
|
|
|
formulaEditor.setEnabled(true); |
|
|
|
|
formulaEditor.addChangeListener(ee -> { |
|
|
|
|
if (itemListener != null) { |
|
|
|
|
itemListener.itemStateChanged(e); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
worker.execute(); |
|
|
|
|
}); |
|
|
|
|
// 显示值列名
|
|
|
|
|
ColumnNameEditor displayColumnNameEditor = new ColumnNameEditor(columnNames); |
|
|
|
|
displayColumnNameEditor.addItemListener(itemListener); |
|
|
|
|
// 显示值列序号
|
|
|
|
|
ColumnIndexEditor displayColumnIndexEditor = new ColumnIndexEditor(columnNames.length); |
|
|
|
|
displayColumnIndexEditor.addItemListener(itemListener); |
|
|
|
|
valueDictPane.setEditors(new Editor[]{displayColumnNameEditor, displayColumnIndexEditor, formulaEditor}, columnNames[0]); |
|
|
|
|
if (itemListener != null) { |
|
|
|
|
itemListener.itemStateChanged(e); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
@ -404,8 +375,4 @@ public class TableDataDictPane extends FurtherBasicBeanPane<TableDataDictionary>
|
|
|
|
|
public void registerDSChangeListener() { |
|
|
|
|
tableDataNameComboBox.registerGlobalDSChangeListener(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public boolean isNeedTableDataChange() { |
|
|
|
|
return needTableDataChange; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|