@ -53,7 +53,6 @@ import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor ;
import javax.swing.DefaultComboBoxModel ;
import javax.swing.Icon ;
import javax.swing.JFrame ;
import javax.swing.JList ;
import javax.swing.JOptionPane ;
import javax.swing.JPanel ;
@ -74,6 +73,7 @@ import java.awt.Dimension;
import java.awt.FlowLayout ;
import java.awt.GridLayout ;
import java.awt.Image ;
import java.awt.Window ;
import java.awt.event.ActionEvent ;
import java.awt.event.ActionListener ;
import java.awt.event.FocusAdapter ;
@ -119,13 +119,9 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
protected JavaScriptActionPane parentPane ;
private int keyColumnWidth = 100 ;
private int resizeColumnCount = 4 ;
private int btnWidth = 110 ;
private int btnHeight = 20 ;
private String subMitName ;
private static final String [ ] DML_CONFIG_TYPES = new String [ ] {
private static final String [ ] DML_CONFIG_TYPES = new String [ ] {
com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Write_Smart_Submit" ) ,
com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Write_Delete_Submit" ) ,
com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Write_Insert_Submit" ) ,
@ -148,7 +144,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
dmlConfigComboBox = new UIComboBox ( DML_CONFIG_TYPES ) ;
JPanel typePane = GUICoreUtils . createFlowPane ( new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Write_Choose_Submit_Type" ) + ":" ) , dmlConfigComboBox } ,
JPanel typePane = GUICoreUtils . createFlowPane ( new Component [ ] { new UILabel ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Write_Choose_Submit_Type" ) + ":" ) , dmlConfigComboBox } ,
FlowLayout . LEFT , 10 ) ;
typePane . setBorder ( BorderFactory . createTitledBorder ( new ModLineBorder ( ModLineBorder . TOP ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Report_Write_Submit_Type" ) ) ) ;
northPane . add ( typePane , BorderLayout . NORTH ) ;
@ -179,11 +175,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
addListeners ( ) ;
}
public void setSubMitName ( String subMitName ) {
public void setSubMitName ( String subMitName ) {
this . subMitName = subMitName ;
}
public String getSubMitName ( ) {
public String getSubMitName ( ) {
return this . subMitName ;
}
@ -194,11 +190,11 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
JPanel controlBtnPane = new JPanel ( new GridLayout ( actions . length + 1 , 1 , 4 , 4 ) ) ;
editTablePane . add ( GUICoreUtils . createBorderPane ( controlBtnPane , BorderLayout . NORTH ) , BorderLayout . EAST ) ;
for ( int i = 0 ; i < actions . length ; i + + ) {
controlBtnPane . add ( new UIButton ( actions [ i ] ) ) ;
for ( UpdateAction action : actions ) {
controlBtnPane . add ( new UIButton ( action ) ) ;
}
checkBoxUpdatePane = new JPanel ( new BorderLayout ( 0 , 0 ) ) ;
checkBoxUpdatePane . setPreferredSize ( new Dimension ( 120 , 20 ) ) ;
checkBoxUpdatePane . setPreferredSize ( new Dimension ( 120 , 20 ) ) ;
controlBtnPane . add ( checkBoxUpdatePane ) ;
UpdateCheckBox = new UICheckBox ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_RWA_NotChange_Unmodified" ) ) ;
@ -207,21 +203,22 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
helpButton . addActionListener ( new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent e ) {
FormatExplanationPane formatExplanation = new FormatExplanationPane ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_Help" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_RWA_Help" ) , 12f ) ;
FormatExplanationPane formatExplanation = new FormatExplanationPane ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_Help" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_RWA_Help" ) , 12f ) ;
BasicDialog dlg = formatExplanation . showMediumWindow ( SwingUtilities . getWindowAncestor ( DBManipulationPane . this ) ,
new DialogActionAdapter ( ) { } ) ;
new DialogActionAdapter ( ) {
} ) ;
dlg . setVisible ( true ) ;
}
} ) ;
helpButton . set4ToolbarButton ( ) ;
checkBoxUpdatePane . add ( UpdateCheckBox , BorderLayout . WEST ) ;
checkBoxUpdatePane . add ( helpButton , BorderLayout . EAST ) ;
checkBoxUpdatePane . add ( UpdateCheckBox , BorderLayout . WEST ) ;
checkBoxUpdatePane . add ( helpButton , BorderLayout . EAST ) ;
}
}
protected void updateUpdateCheckBoxEnable ( ) {
KeyColumnTableModel model = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
if ( model . getRowCount ( ) = = 0 ) {
protected void updateUpdateCheckBoxEnable ( ) {
KeyColumnTableModel model = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
if ( model . getRowCount ( ) = = 0 ) {
setUpdateCheckBoxEnable ( false ) ;
UpdateCheckBox . setSelected ( true ) ;
return ;
@ -230,9 +227,8 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
for ( int i = 0 ; i < model . getRowCount ( ) ; i + + ) {
columnObjects . add ( model . getKeyColumnNameValue ( i ) . cv . getObj ( ) ) ;
}
for ( int i = 0 ; i < columnObjects . size ( ) ; i + + ) {
Object ob = columnObjects . get ( i ) ;
if ( ! ( ob instanceof ColumnRow | | ob instanceof ColumnRowGroup ) ) {
for ( Object ob : columnObjects ) {
if ( ! ( ob instanceof ColumnRow | | ob instanceof ColumnRowGroup ) ) {
setUpdateCheckBoxEnable ( false ) ;
UpdateCheckBox . setSelected ( false ) ;
return ;
@ -241,7 +237,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
setUpdateCheckBoxEnable ( true ) ;
}
private void setUpdateCheckBoxEnable ( boolean b ) {
private void setUpdateCheckBoxEnable ( boolean b ) {
UpdateCheckBox . setEnabled ( b ) ;
}
@ -251,9 +247,9 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
JPanel conditionPane = this . createConditionPane ( ) ;
JPanel btPane = new JPanel ( FRGUIPaneFactory . createBorderLayout ( ) ) ;
btPane . add ( eventPane , BorderLayout . CENTER ) ;
btPane . add ( conditionPane , BorderLayout . NORTH ) ;
JPanel btPane = new JPanel ( FRGUIPaneFactory . createBorderLayout ( ) ) ;
btPane . add ( eventPane , BorderLayout . CENTER ) ;
btPane . add ( conditionPane , BorderLayout . NORTH ) ;
this . add ( btPane , BorderLayout . SOUTH ) ;
}
@ -261,6 +257,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
UIButton addSubmitEventButton = new UIButton ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Set_Submit_Event" ) ) ;
addSubmitEventButton . addActionListener ( new ActionListener ( ) {
@Override
public void actionPerformed ( ActionEvent e ) {
final SubmitJobListPane jobsPane = createSubmitJobListPane ( ) ;
@ -293,7 +290,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
DefaultTreeCellRenderer cr = ( DefaultTreeCellRenderer ) conditionsTree . getCellRenderer ( ) ;
cr . setForeground ( UIConstants . NORMAL_BACKGROUND ) ;
JScrollPane jp = new JScrollPane ( conditionsTree ) ;
addComponent ( conditionPane , jp ) ;
addComponent ( conditionPane , jp ) ;
UIButton addSubmitConditionButton = new UIButton ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Set_Submit_Condition" ) ) ;
addSubmitConditionButton . addActionListener ( new ActionListener ( ) {
@ -325,32 +322,32 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
JPanel controlBtnPane = new JPanel ( new GridLayout ( 1 , 1 , 4 , 4 ) ) ;
controlBtnPane . setPreferredSize ( createControlBtnPanePreferredSize ( ) ) ;
conditionPane . add ( GUICoreUtils . createBorderPane ( controlBtnPane , BorderLayout . NORTH ) , setControlBtnPanePosition ( ) ) ;
conditionPane . add ( GUICoreUtils . createBorderPane ( controlBtnPane , BorderLayout . NORTH ) , setControlBtnPanePosition ( ) ) ;
controlBtnPane . add ( addSubmitConditionButton ) ;
return conditionPane ;
}
protected void setBorderAndLayout ( JPanel jPanel ) {
protected void setBorderAndLayout ( JPanel jPanel ) {
jPanel . setLayout ( FRGUIPaneFactory . createBorderLayout ( ) ) ;
jPanel . setBorder ( BorderFactory . createTitledBorder (
new ModLineBorder ( ModLineBorder . TOP ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Submit_Condition" ) ) ) ;
}
protected void addComponent ( JPanel mainPane , JScrollPane addPane ) {
mainPane . add ( addPane , BorderLayout . CENTER ) ;
protected void addComponent ( JPanel mainPane , JScrollPane addPane ) {
mainPane . add ( addPane , BorderLayout . CENTER ) ;
}
protected Dimension createConditionPanePreferredSize ( ) {
protected Dimension createConditionPanePreferredSize ( ) {
return new Dimension ( 454 , 80 ) ;
}
protected Dimension createControlBtnPanePreferredSize ( ) {
protected Dimension createControlBtnPanePreferredSize ( ) {
return new Dimension ( 110 , 20 ) ;
}
protected String setControlBtnPanePosition ( ) {
protected String setControlBtnPanePosition ( ) {
return BorderLayout . EAST ;
}
@ -409,6 +406,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
* /
keyColumnValuesTable . addFocusListener ( new FocusAdapter ( ) {
@Override
public void focusGained ( FocusEvent e ) {
refreshColumnsComboBox ( ) ;
}
@ -417,7 +415,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
protected UpdateAction [ ] getActions ( ) {
return new UpdateAction [ ] { new SmartAddFieldsAction ( ) , new AddFieldAction ( ) , new RemoveFieldAction ( ) } ;
return new UpdateAction [ ] { new SmartAddFieldsAction ( ) , new AddFieldAction ( ) , new RemoveFieldAction ( ) } ;
}
protected SubmitJobListPane createSubmitJobListPane ( ) {
@ -438,6 +436,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
this . setName ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_RWA_Smart_Add_Fields" ) ) ;
}
@Override
public void actionPerformed ( ActionEvent evt ) {
BasicPane bPane = new BasicPane ( ) {
@ -449,9 +448,10 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
bPane . setLayout ( FRGUIPaneFactory . createBorderLayout ( ) ) ;
final CheckBoxList list = new CheckBoxList ( currentColumnNames ( ) , CheckBoxList . SelectedState . ALL , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Chart_Field_Name" ) ) {
@Override
public String value2Text ( Object value ) {
if ( value instanceof ColumnName ) {
return ( ( ColumnName ) value ) . name ;
return ( ( ColumnName ) value ) . name ;
}
return super . value2Text ( value ) ;
@ -460,6 +460,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
bPane . add ( new JScrollPane ( list ) , BorderLayout . CENTER ) ;
BasicDialog dlg = bPane . showSmallWindow ( SwingUtilities . getWindowAncestor ( DBManipulationPane . this ) , new DialogActionAdapter ( ) {
@Override
public void doOk ( ) {
addFields ( list ) ;
updateUpdateCheckBoxEnable ( ) ;
@ -469,8 +470,8 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
}
private void addFields ( CheckBoxList list ) {
KeyColumnTableModel model = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
private void addFields ( CheckBoxList list ) {
KeyColumnTableModel model = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
List < KeyColumnNameValue > keyColumnNameValueList = new ArrayList < KeyColumnNameValue > ( ) ;
keyColumnNameValueList . clear ( ) ;
for ( int i = 0 ; i < model . getRowCount ( ) ; i + + ) {
@ -481,9 +482,9 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
// Richie:用了存储新的KeyColumnNameValue的List.
List < KeyColumnNameValue > newKeyColumnNameValueList = new ArrayList < KeyColumnNameValue > ( ) ;
if ( ! keyColumnNameValueList . isEmpty ( ) ) {
for ( int i = 0 ; i < selected . length ; i + + ) {
for ( Object o : selected ) {
// Richie:先填上空的.
newKeyColumnNameValueList . add ( new KeyColumnNameValue ( false , ( ColumnName ) selected [ i ] , new ColumnValue ( "" ) , false ) ) ;
newKeyColumnNameValueList . add ( new KeyColumnNameValue ( false , ( ColumnName ) o , new ColumnValue ( "" ) , false ) ) ;
}
}
// Richie:初始化
@ -492,17 +493,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
if ( ! keyColumnNameValueList . isEmpty ( ) ) {
//如果存在先前项,设置状态为5
returnValue = 5 ;
returnValue = 5 ;
}
for ( int i = 0 ; i < selected . length ; i + + ) {
if ( returnValue = = 0 | | returnValue = = 3 ) {
break ;
}
for ( int j = 0 ; j < keyColumnNameValueList . size ( ) ; j + + ) {
if ( ComparatorUtils . equals ( selected [ i ] , keyColumnNameValueList . get ( j ) . cn ) ) {
Object [ ] options = { com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Covered_All" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_Yes" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_No" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Cover_None" ) } ;
for ( KeyColumnNameValue keyColumnNameValue : keyColumnNameValueList ) {
if ( ComparatorUtils . equals ( selected [ i ] , keyColumnNameValue . cn ) ) {
Object [ ] options = { com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Covered_All" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_Yes" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_No" ) , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Cover_None" ) } ;
returnValue = JOptionPane . showOptionDialog ( DBManipulationPane . this ,
com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Cover_Tips" , keyColumnNameValueList . get ( j ) . cn . name ) ,
com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Cover_Tips" , keyColumnNameValue . cn . name ) ,
"" , JOptionPane . DEFAULT_OPTION , JOptionPane . INFORMATION_MESSAGE , null , options , options [ 0 ] ) ;
// Richie:全部覆盖
if ( returnValue = = 0 ) {
@ -514,7 +515,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
} else if ( returnValue = = 2 ) {
coverNumber = i ;
newKeyColumnNameValueList . remove ( i ) ;
newKeyColumnNameValueList . add ( i , keyColumnNameValueList . get ( j ) ) ;
newKeyColumnNameValueList . add ( i , keyColumnNameValue ) ;
// Richie:全部不覆盖
} else if ( returnValue = = 3 ) {
coverNumber = i ;
@ -526,7 +527,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
checkTableModel ( returnValue , coverNumber , model , selected , keyColumnNameValueList , newKeyColumnNameValueList ) ;
}
private void checkTableModel ( int returnValue , int coverNumber , KeyColumnTableModel model , Object [ ] selected , List < KeyColumnNameValue > keyColumnNameValueList , List < KeyColumnNameValue > newKeyColumnNameValueList ) {
private void checkTableModel ( int returnValue , int coverNumber , KeyColumnTableModel model , Object [ ] selected , List < KeyColumnNameValue > keyColumnNameValueList , List < KeyColumnNameValue > newKeyColumnNameValueList ) {
if ( returnValue = = 0 ) {
model . removeAllKeyColumnNameValue ( ) ;
// Richie:全部覆盖,按selected的长度添加默认的行
@ -538,10 +539,10 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
model . removeAllKeyColumnNameValue ( ) ;
// Richie:全部不覆盖,已经存在的就保留,不存在的添加默认行
for ( int i = coverNumber ; i < selected . length ; i + + ) {
for ( int j = 0 ; j < keyColumnNameValueList . size ( ) ; j + + ) {
if ( ComparatorUtils . equals ( selected [ i ] , keyColumnNameValueList . get ( j ) . cn ) ) {
for ( KeyColumnNameValue keyColumnNameValue : keyColumnNameValueList ) {
if ( ComparatorUtils . equals ( selected [ i ] , keyColumnNameValue . cn ) ) {
newKeyColumnNameValueList . remove ( i ) ;
newKeyColumnNameValueList . add ( i , keyColumnNameValueList . get ( j ) ) ;
newKeyColumnNameValueList . add ( i , keyColumnNameValue ) ;
}
}
@ -555,7 +556,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
for ( int i = 0 ; i < selected . length ; i + + ) {
model . addKeyColumnNameValue ( newKeyColumnNameValueList . get ( i ) ) ;
}
} else if ( returnValue = = 5 ) {
} else if ( returnValue = = 5 ) {
//新选项和原来没有重复项的情况,产品确认:只做全量增加,原有的清除
for ( int i = 0 ; i < selected . length ; i + + ) {
model . addKeyColumnNameValue ( newKeyColumnNameValueList . get ( i ) ) ;
@ -565,8 +566,8 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
// Richie:初始化
if ( keyColumnNameValueList . isEmpty ( ) ) {
model . removeAllKeyColumnNameValue ( ) ;
for ( int i = 0 ; i < selected . length ; i + + ) {
model . addKeyColumnNameValue ( new KeyColumnNameValue ( false , ( ColumnName ) selected [ i ] , new ColumnValue ( "" ) , false ) ) ;
for ( Object o : selected ) {
model . addKeyColumnNameValue ( new KeyColumnNameValue ( false , ( ColumnName ) o , new ColumnValue ( "" ) , false ) ) ;
}
}
@ -579,9 +580,10 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
this . setName ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_RWA_Add_Field" ) ) ;
}
@Override
public void actionPerformed ( ActionEvent e ) {
KeyColumnTableModel model = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
KeyColumnTableModel model = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
model . addKeyColumnNameValue ( new KeyColumnNameValue ( false , new ColumnName ( "" ) , new ColumnValue ( "" ) , false ) ) ;
updateUpdateCheckBoxEnable ( ) ;
@ -596,6 +598,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
this . setName ( com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_RWA_Remove_Field" ) ) ;
}
@Override
public void actionPerformed ( ActionEvent evt ) {
// DBManipulationPane target = this.getDBManipulationPane();
@ -608,7 +611,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_sure_remove_item" ) + "?" , com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Base_Remove" ) , JOptionPane . OK_CANCEL_OPTION ,
JOptionPane . QUESTION_MESSAGE ) ;
if ( returnVal = = JOptionPane . OK_OPTION ) {
KeyColumnTableModel keyColumnNameValueTableModel = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
KeyColumnTableModel keyColumnNameValueTableModel = ( KeyColumnTableModel ) keyColumnValuesTable . getModel ( ) ;
// 把selectedRows从小到大排个序,先删大的再删小的
java . util . Arrays . sort ( selectedRows ) ;
@ -632,12 +635,12 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
* 刷新columnsComboBox
* /
private void refreshColumnsComboBox ( ) {
DefaultComboBoxModel model = ( DefaultComboBoxModel ) this . columnsComboBox . getModel ( ) ;
DefaultComboBoxModel model = ( DefaultComboBoxModel ) this . columnsComboBox . getModel ( ) ;
model . removeAllElements ( ) ;
ColumnName [ ] columnNames = currentColumnNames ( ) ;
for ( int i = 0 ; i < columnNames . length ; i + + ) {
model . addElement ( columnNames [ i ] ) ;
for ( ColumnName columnName : columnNames ) {
model . addElement ( columnName ) ;
}
}
@ -673,11 +676,12 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
columnsComboBox = new UIComboBox ( new DefaultComboBoxModel ( ) ) ;
columnsComboBox . setRenderer ( new UIComboBoxRenderer ( ) {
@Override
public Component getListCellRendererComponent ( JList list , Object value , int index , boolean isSelected , boolean cellHasFocus ) {
super . getListCellRendererComponent ( list , value , index , isSelected , cellHasFocus ) ;
if ( value instanceof ColumnName ) {
this . setText ( ( ( ColumnName ) value ) . name ) ;
this . setText ( ( ( ColumnName ) value ) . name ) ;
}
return this ;
@ -685,20 +689,18 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
} ) ;
column1 . setCellEditor ( new DefaultCellEditor ( columnsComboBox ) {
@Override
public boolean stopCellEditing ( ) {
if ( super . stopCellEditing ( ) ) {
return true ;
}
return false ;
return super . stopCellEditing ( ) ;
}
} ) ;
( ( DefaultCellEditor ) column1 . getCellEditor ( ) ) . setClickCountToStart ( 2 ) ;
( ( DefaultCellEditor ) column1 . getCellEditor ( ) ) . setClickCountToStart ( 2 ) ;
//设置Column 2的Editor
column2 . setCellEditor ( new ColumnValueEditor ( ) ) ;
}
@Override
public void populateBean ( DBManipulation dbManipulation ) {
if ( dbManipulation = = null ) {
dbManipulation = new DBManipulation ( ) ;
@ -750,7 +752,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
private void populateKeyColumnValueTable ( DMLConfig dmlConfig ) {
KeyColumnTableModel keyColumnNameValueTableModel = ( KeyColumnTableModel ) this . keyColumnValuesTable . getModel ( ) ;
KeyColumnTableModel keyColumnNameValueTableModel = ( KeyColumnTableModel ) this . keyColumnValuesTable . getModel ( ) ;
keyColumnNameValueTableModel . removeAllKeyColumnNameValue ( ) ;
if ( dmlConfig ! = null ) {
@ -766,7 +768,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
String columnName = column . getColumnName ( ) ;
if ( ! acceptPara & & column . getColumnValue ( ) instanceof Parameter ) {
// 表单中,将以前的参数转换为公式
column . setColumnValue ( BaseFormula . createFormulaBuilder ( ) . build ( ( ( Parameter ) column . getColumnValue ( ) ) . getName ( ) ) ) ;
column . setColumnValue ( BaseFormula . createFormulaBuilder ( ) . build ( ( ( Parameter ) column . getColumnValue ( ) ) . getName ( ) ) ) ;
}
KeyColumnNameValue newColumnNameValue = new KeyColumnNameValue ( column . isKey ( ) , new ColumnName ( columnName ) , new ColumnValue ( column . getColumnValue ( ) ) ,
@ -782,6 +784,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
}
@Override
public DBManipulation updateBean ( ) {
DataBaseItems para = chooseTable . updateBean ( true ) ;
DBManipulation dbMani = new DBManipulation ( ) ;
@ -801,19 +804,19 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
dmlConfig . setTable ( new Table ( para . getSchemaName ( ) , para . getTableName ( ) ) ) ;
KeyColumnTableModel keyColumnNameValueTableModel = ( KeyColumnTableModel ) this . keyColumnValuesTable . getModel ( ) ;
KeyColumnTableModel keyColumnNameValueTableModel = ( KeyColumnTableModel ) this . keyColumnValuesTable . getModel ( ) ;
int rowCount = keyColumnNameValueTableModel . keyColumnNameValueList . size ( ) ;
for ( int i = 0 ; i < rowCount ; i + + ) {
KeyColumnNameValue newKeyColumnNameValue = keyColumnNameValueTableModel . keyColumnNameValueList . get ( i ) ;
// peter:先添加key column name.
dmlConfig . addColumnConfig ( new ColumnConfig ( newKeyColumnNameValue . cn . name , newKeyColumnNameValue . cv . obj , newKeyColumnNameValue . isKey , false ) ) ;
dmlConfig . addColumnConfig ( new ColumnConfig ( newKeyColumnNameValue . cn . name , newKeyColumnNameValue . cv . obj , newKeyColumnNameValue . isKey , false ) ) ;
}
dmlConfig . setUpdateSelected ( UpdateCheckBox . isSelected ( ) ) ;
if ( jobs ! = null ) {
for ( int i = 0 ; i < jobs . length ; i + + ) {
dmlConfig . addSubmitJob ( jobs [ i ] ) ;
for ( NameSubmitJob job : jobs ) {
dmlConfig . addSubmitJob ( job ) ;
}
}
dmlConfig . setCondition ( condition ) ;
@ -840,6 +843,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
return com . fr . design . i18n . Toolkit . i18nText ( "Fine-Design_Basic_Values_Editor" ) ;
}
@Override
public void populateBean ( Object object ) {
vPane . populate ( object ) ;
}
@ -855,55 +859,67 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
* alex : ColumnValue的编辑器 , 弹出对话框来编辑 . . . 个人觉得不大好
* /
protected class ColumnValueEditor extends AbstractCellEditor implements TableCellEditor {
/** The Swing component being edited. */
private UILabel textLabel ;
private ValuePane vPane ;
private BasicDialog vPaneDLG ;
/ * *
* The Swing component being edited .
* /
private final UILabel textLabel ;
private final ValuePane vPane ;
protected ColumnValueEditor ( ) {
this ( v_Types ) ;
}
/ * *
* 列值编辑器
*
* @param types 编辑器类型
* /
protected ColumnValueEditor ( Editor < ? > [ ] types ) {
textLabel = new UILabel ( ) ;
textLabel . addMouseListener ( new MouseAdapter ( ) {
public void mousePressed ( MouseEvent e ) {
vPaneDLG . setAlwaysOnTop ( true ) ;
vPaneDLG . setVisible ( true ) ;
}
} ) ;
vPane = new ValuePane ( types ) ;
vPaneDLG = vPane . showSmallWindow ( new JFrame ( ) , new DialogActionAdapter ( ) {
DialogActionAdapter adapter = new DialogActionAdapter ( ) {
@Override
public void doOk ( ) {
fireEditingStopped ( ) ; // Make the renderer
// reappear.
updateUpdateCheckBoxEnable ( ) ;
}
@Override
public void doCancel ( ) {
fireEditingCanceled ( ) ;
}
} ;
textLabel . addMouseListener ( new MouseAdapter ( ) {
@Override
public void mousePressed ( MouseEvent e ) {
Window window = e . getComponent ( ) = = null
? DesignerContext . getDesignerFrame ( )
: SwingUtilities . getWindowAncestor ( e . getComponent ( ) ) ;
vPane . showSmallWindow ( window , adapter )
. setVisible ( true ) ;
}
} ) ;
vPane = new ValuePane ( types ) ;
}
/ *
* 双击以编辑
* /
@Override
public boolean isCellEditable ( EventObject anEvent ) {
if ( anEvent instanceof MouseEvent ) {
return ( ( MouseEvent ) anEvent ) . getClickCount ( ) > = 2 ;
return ( ( MouseEvent ) anEvent ) . getClickCount ( ) > = 2 ;
}
return true ;
}
@Override
public Component getTableCellEditorComponent ( JTable table , Object value , boolean isSelected , int row , int column ) {
if ( value instanceof ColumnValue ) {
vPane . populateBean ( ( ( ColumnValue ) value ) . obj ) ;
vPane . populateBean ( ( ( ColumnValue ) value ) . obj ) ;
if ( ( ( ColumnValue ) value ) . obj ! = null ) {
textLabel . setText ( ( ( ColumnValue ) value ) . obj . toString ( ) ) ;
if ( ( ( ColumnValue ) value ) . obj ! = null ) {
textLabel . setText ( ( ( ColumnValue ) value ) . obj . toString ( ) ) ;
} else {
textLabel . setText ( "" ) ;
}
@ -912,6 +928,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
return textLabel ;
}
@Override
public Object getCellEditorValue ( ) {
return new ColumnValue ( vPane . updateBean ( ) ) ;
}
@ -924,12 +941,13 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
this . name = name ;
}
@Override
public boolean equals ( Object obj ) {
if ( ! ( obj instanceof ColumnName ) ) {
return false ;
}
return ComparatorUtils . equals ( this . name , ( ( ColumnName ) obj ) . name ) ;
return ComparatorUtils . equals ( this . name , ( ( ColumnName ) obj ) . name ) ;
}
@Override
@ -945,16 +963,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
this . obj = obj ;
}
public Object getObj ( ) {
public Object getObj ( ) {
return obj ;
}
@Override
public boolean equals ( Object obj ) {
if ( ! ( obj instanceof ColumnValue ) ) {
return false ;
}
return ComparatorUtils . equals ( this . obj , ( ( ColumnValue ) obj ) . obj ) ;
return ComparatorUtils . equals ( this . obj , ( ( ColumnValue ) obj ) . obj ) ;
}
@Override
@ -998,14 +1017,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
}
@Override
public String getColumnName ( int col ) {
return COLUMN_NAMES [ col ] ;
}
@Override
public int getColumnCount ( ) {
return COLUMN_NAMES . length ;
}
@Override
public int getRowCount ( ) {
return keyColumnNameValueList . size ( ) ;
}
@ -1034,12 +1056,13 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
}
protected static class KeyColumnValueTableModel extends KeyColumnTableModel implements Cloneable {
protected static class KeyColumnValueTableModel extends KeyColumnTableModel implements Cloneable {
public KeyColumnValueTableModel ( KeyColumnTableModel model ) {
super ( model ) ;
}
@Override
public Object getValueAt ( int row , int col ) {
KeyColumnNameValue knv = keyColumnNameValueList . get ( row ) ;
@ -1054,18 +1077,20 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
return null ;
}
@Override
public void setValueAt ( Object value , int row , int col ) {
KeyColumnNameValue knv = keyColumnNameValueList . get ( row ) ;
if ( col = = 0 & & value instanceof Boolean ) {
knv . isKey = ( ( Boolean ) value ) . booleanValue ( ) ;
knv . isKey = ( ( Boolean ) value ) . booleanValue ( ) ;
} else if ( col = = 1 & & value instanceof ColumnName ) {
knv . cn = ( ColumnName ) value ;
knv . cn = ( ColumnName ) value ;
} else if ( col = = 2 & & value instanceof ColumnValue ) {
knv . cv = ( ColumnValue ) value ;
knv . cv = ( ColumnValue ) value ;
}
}
@Override
public Class < ? > getColumnClass ( int c ) {
switch ( c ) {
case 0 :
@ -1078,6 +1103,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
return String . class ;
}
@Override
public boolean isCellEditable ( int row , int col ) {
return true ;
}
@ -1094,7 +1120,6 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
}
public static class KeyColumnNameValue {
private boolean isKey = false ;
private ColumnName cn ;
@ -1111,6 +1136,7 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
*
* @return 字符串z
* /
@Override
public String toString ( ) {
return ( isKey ? "* " : "" ) + cn + ":" + cv ;
}
@ -1124,12 +1150,13 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
/ *
* ColumnNameTableCellRenderer
* /
public class ColumnNameTableCellRenderer extends DefaultTableCellRenderer {
public static class ColumnNameTableCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent ( JTable table , Object value , boolean isSelected , boolean hasFocus , int row , int column ) {
super . getTableCellRendererComponent ( table , value , isSelected , hasFocus , row , column ) ;
if ( value instanceof ColumnName ) {
this . setText ( ( ( ColumnName ) value ) . name ) ;
this . setText ( ( ( ColumnName ) value ) . name ) ;
}
return this ;
@ -1139,16 +1166,17 @@ public class DBManipulationPane extends BasicBeanPane<DBManipulation> {
/ *
* ColumnValueTableCellRenderer
* /
private class ColumnValueTableCellRenderer extends DefaultTableCellRenderer {
private static class ColumnValueTableCellRenderer extends DefaultTableCellRenderer {
@Override
public Component getTableCellRendererComponent ( JTable table , Object value , boolean isSelected , boolean hasFocus , int row , int column ) {
super . getTableCellRendererComponent ( table , value , isSelected , hasFocus , row , column ) ;
if ( value instanceof ColumnValue ) {
if ( ( ( ColumnValue ) value ) . obj ! = null ) {
if ( ( ( ColumnValue ) value ) . obj instanceof Date ) {
this . setText ( DateUtils . DATEFORMAT2 . format ( ( ( ColumnValue ) value ) . obj ) ) ;
if ( ( ( ColumnValue ) value ) . obj ! = null ) {
if ( ( ( ColumnValue ) value ) . obj instanceof Date ) {
this . setText ( DateUtils . DATEFORMAT2 . format ( ( ( ColumnValue ) value ) . obj ) ) ;
} else {
this . setText ( ( ( ColumnValue ) value ) . obj . toString ( ) ) ;
this . setText ( ( ( ColumnValue ) value ) . obj . toString ( ) ) ;
}
} else {
this . setText ( "" ) ;