📄 conditionstable.java
字号:
return tableView;
}
/**
* This method defines which data is allowed to be inputted from the data
* selections in the drop down lists.
*/
public void getRelations() {
varTypeLinks = new Hashtable();
for(int y = 1; ; y++) {
try {
String tmpString = "type" + y;
Vector tmpContents = getOperatorTypes(rb.getString(tmpString));
varTypeLinks.put(rb.getString(tmpString), tmpContents);
} catch(MissingResourceException mre) {
break;
}
}
}
public Vector getOperatorTypes(String type) {
Vector operatorVector = new Vector();
String itemRead;
for(int y = 1; ; y++) {
try {
itemRead = rb.getString(type + y);
int indexSpace = itemRead.indexOf(" ");
String operator[] = new String[2];
operator[0] = itemRead.substring(indexSpace + 1);
operator[1] = itemRead.substring(0, indexSpace);
operatorVector.add(operator);
} catch(MissingResourceException mre) {
break;
}
}
return operatorVector;
}
public void addRow(final int rowLevel) {
//four vectors that store the contents of the rows.
//final JComboBox conditionOnCB = new ConditionOnComboBox(this.xmlED, index);
final ConditionOnComboBox conditionOnCB = new ConditionOnComboBox(this.xmlED, index);
conditionOnCB.addActionListener(this);
conditionOnCB.setActionCommand("COMBO_ONE_SELECTED");
column1Store.add(conditionOnCB);
if (conditionOnCB.types != null && conditionOnCB.types.length > 0) {
column2Store.add(setUpColumnTwo(conditionOnCB.types[0]));
JTextField textField = new JTextField();
textField.addMouseListener(this);
column3Store.add(setUpColumnThree(textField, conditionOnCB.types[0]));
} else {
column2Store.add(new JComboBox());
column3Store.add(new JTextField());
}
JButton delete = new JButton("-");
delete.addActionListener(this);
delete.setActionCommand("DELETE_BUTTON_SELECTED");
delete.setToolTipText(deleteButtonTtipCaption);
column4Store.add(delete);
Object[] constraint = {((JComboBox)column1Store.get(rowLevel)),
((JComboBox)column2Store.get(rowLevel)),
((JTextField)column3Store.get(rowLevel)),
((JButton)column4Store.get(rowLevel))};
tableModel.addRow(constraint);
setRowHeight(20);
}
public void deleteRow(final int rowLevel) {
table.getCellEditor().cancelCellEditing();
column1Store.remove(rowLevel);
column2Store.remove(rowLevel);
column3Store.remove(rowLevel);
column4Store.remove(rowLevel);
tableModel.removeRow(rowLevel);
}
public JTextField setUpColumnThree(JTextField tf, String type) {
if (type.equals(rb.getString("type2"))) {
tf.setEditable(false);
tf.setText("YYYY-MM-DD");
} else if (type.equals(rb.getString("type1"))) {
tf.setEditable(false);
tf.setText("hh:mm:ss");
} else if (type.equals(rb.getString("type7"))) {
tf.setEditable(false);
tf.setText("ccyy-mm-ddThh:mm:ss");
} else if (type.equals(rb.getString("type6"))) {
tf.setEditable(false);
tf.setText("True || False");
} else {
tf.setEditable(true);
tf.setText("");
}
return tf;
}
public JComboBox setUpColumnTwo(String conditionOn) {
JComboBox comboBox = new OperatorComboBox(this.xmlED, conditionOn, varTypeLinks);
return comboBox;
}
public void setRowHeight(int height) {
for (int i = 0; i < table.getRowCount(); i++) {
table.setRowHeight(i, height);
}
table.repaint();
table.revalidate();
}
public void columnAdded(TableColumnModelEvent e) {
}
public void columnMarginChanged(ChangeEvent e) {
}
public void columnMoved(TableColumnModelEvent e) {
model.removeColumnModelListener(this);
table.moveColumn(e.getToIndex(), e.getFromIndex());
model.addColumnModelListener(this);
}
public void columnRemoved(TableColumnModelEvent e) {
}
public void columnSelectionChanged(ListSelectionEvent e) {
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().intern().equals("COMBO_ONE_SELECTED")) {
ConditionOnComboBox cb = (ConditionOnComboBox)e.getSource();
if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type2"))) {
((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
((JTextField)column3Store.get(table.getEditingRow())).setText("YYYY-MM-DD");
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type1"))) {
((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
((JTextField)column3Store.get(table.getEditingRow())).setText("hh:mm:ss");
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type7"))) {
((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
((JTextField)column3Store.get(table.getEditingRow())).setText("ccyy-mm-ddThh:mm:ss");
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type6"))) {
((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
((JTextField)column3Store.get(table.getEditingRow())).setText("True || False");
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type9"))) {
((JTextField)column3Store.get(table.getEditingRow())).setEditable(false);
((JTextField)column3Store.get(table.getEditingRow())).setText("ccyy-mm-ddThh:mm:ss");
} else {
((JTextField)column3Store.get(table.getEditingRow())).setEditable(true);
((JTextField)column3Store.get(table.getEditingRow())).setText("");
}
String selCondOn = ((String)((ConditionOnComboBox)column1Store.get(table.getEditingRow())).types[((ConditionOnComboBox)column1Store.get(table.getEditingRow())).getSelectedIndex()]);
JComboBox tmpCB = setUpColumnTwo(selCondOn);
table.setValueAt(tmpCB, table.getEditingRow(), 1);
column2Store.removeElementAt(table.getEditingRow());
column2Store.add(table.getEditingRow(), tmpCB);
table.repaint();
table.revalidate();
} else if (e.getActionCommand().intern().equals("DELETE_BUTTON_SELECTED")) {
deleteRow(table.getEditingRow());
}
}
public void mouseClicked(MouseEvent e) {
ConditionOnComboBox cb = (ConditionOnComboBox)column1Store.get(table.getEditingRow());
if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type1"))) {
Point parentPoint = ((JTextField)e.getSource()).getLocation();
Point p = new Point(200+parentPoint.x+5, 200+parentPoint.y+30);
TimeDialog td = new TimeDialog(owner, selectTimeCaption, p);
String toShow = td.tp.getTime();
td.repaint();
if (!toShow.intern().equals(""))
((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type2"))) {
DateChooser DATE_CHOOSER = new DateChooser(this.owner, selectDateCaption);
Date d = DATE_CHOOSER.select();
if (d == null) {} else ((JTextField)column3Store.get(table.getEditingRow())).setText(new SimpleDateFormat("yyyy-MM-dd").format(d));
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type7"))) {
TimeDateDialog tdd = new TimeDateDialog(this.owner, new SimpleDateFormat("yyyy.MM.dd").format(new Date()));
String toShow = tdd.tdp.getDateTime();
if (toShow == null) return;
if (!toShow.intern().equals(""))
((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type6"))) {
Point parentPoint = ((JTextField)e.getSource()).getLocation();
Point p = new Point(200+parentPoint.x+5, 200+parentPoint.y+28);
TrueFalseDialog tfd = new TrueFalseDialog(this.owner, "True || False", p);
String toShow = tfd.tfp.getBoolean();
if (toShow == null) return;
if (!toShow.intern().equals(""))
((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
} else if (cb.getTypes()[cb.getSelectedIndex()].intern().equals(rb.getString("type9"))) {
// DateChooser DATE_CHOOSER = new DateChooser(this.owner, selectDateCaption);
// Date d = DATE_CHOOSER.select();
// if (d == null) {} else ((JTextField)column3Store.get(table.getEditingRow())).setText(new SimpleDateFormat("yyyy-MM-dd").format(d));
DurationDialog dd = new DurationDialog(owner, selectDurationCaption);
String toShow = dd.dp.getDuration();
dd.repaint();
if (!toShow.intern().equals(""))
((JTextField)column3Store.get(table.getEditingRow())).setText(toShow);
}
table.repaint();
table.revalidate();
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -