diff --git a/src/de/mpg/molgen/buczek/portifix/Gui.java b/src/de/mpg/molgen/buczek/portifix/Gui.java index 5d52388..b4e2efd 100644 --- a/src/de/mpg/molgen/buczek/portifix/Gui.java +++ b/src/de/mpg/molgen/buczek/portifix/Gui.java @@ -21,7 +21,6 @@ import java.sql.SQLException; import java.text.ParseException; import java.util.Date; -import java.util.Properties; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.AbstractAction; @@ -71,11 +70,11 @@ private String[] columnValuesOfSelection(int col) { int selected[] = jTable1.getSelectedRows(); String[] ret = new String[selected.length]; for (int i = 0; i < selected.length; i++) { - Object o=tableModel.getValueAt(jTable1.convertRowIndexToModel(selected[i]), col); - if (o==null) { + Object o = tableModel.getValueAt(jTable1.convertRowIndexToModel(selected[i]), col); + if (o == null) { ret[i] = ""; } else { - ret[i]=o.toString(); + ret[i] = o.toString(); } } return ret; @@ -108,15 +107,16 @@ private static void setTreeEnabled(Component component, boolean enabled) { /** * no String.join() in Java 1.7 + * * @param delim * @param s1 * @param s2 - * @return + * @return */ - private String join(String delim,String s1,String s2) { - if (s1!=null && s1.length()>0) { - if (s2!=null && s2.length()>0) { - return s1+delim+s2; + private String join(String delim, String s1, String s2) { + if (s1 != null && s1.length() > 0) { + if (s2 != null && s2.length() > 0) { + return s1 + delim + s2; } else { return s1; } @@ -125,38 +125,45 @@ private String join(String delim,String s1,String s2) { } } + private void setEditEnabled(boolean enabled) { + textField_datum.setEnabled(enabled); + textField_endedatum.setEnabled(enabled); + } + private void updateForm() { int selected[] = jTable1.getSelectedRows(); + for (int i = 0; i < selected.length; i++) { + selected[i] = jTable1.convertRowIndexToModel(selected[i]); + } + if (selected.length == 0) { - textField_datum.setEnabled(false); + setEditEnabled(false); } else { String[] name = new String[selected.length]; String[] exemplar = new String[selected.length]; for (int i = 0; i < name.length; i++) { - int mi = jTable1.convertRowIndexToModel(selected[i]); - name[i]=join(" ",(String)tableModel.getValueAt(mi,TableModel.COLUMN_VORNAME),(String)tableModel.getValueAt(mi,TableModel.COLUMN_NACHNAME)); - exemplar[i]=join (" # ",(String)tableModel.getValueAt(mi,TableModel.COLUMN_SCHLUESSELNUMMER),(String)tableModel.getValueAt(mi,TableModel.COLUMN_EXEMPLARNUMMER)); + name[i] = join(" ", (String) tableModel.getValueAt(i, TableModel.COLUMN_VORNAME), (String) tableModel.getValueAt(i, TableModel.COLUMN_NACHNAME)); + exemplar[i] = join(" # ", (String) tableModel.getValueAt(i, TableModel.COLUMN_SCHLUESSELNUMMER), (String) tableModel.getValueAt(i, TableModel.COLUMN_EXEMPLARNUMMER)); } label_name.setText(singleColumnValueOfArray(name)); label_abteilung.setText(singleColumnValueOfSelection(TableModel.COLUMN_ABTEILUNG)); label_schluessel.setText(singleColumnValueOfArray(exemplar)); textField_datum.setText(singleColumnValueOfSelection(TableModel.COLUMN_RUECKGABEDATUM)); - textField_datum.setEnabled(true); textField_endedatum.setText(singleColumnValueOfSelection(TableModel.COLUMN_ENDEDATUM)); - textField_endedatum.setEnabled(true); + setEditEnabled(isUnique(columnValuesOfSelection(TableModel.COLUMN_PERSONAL_ID))); } } - private final int EDIT_MODE_PERSON=1; - private final int EDIT_MODE_EXEMPLAR=2; - + private final int EDIT_MODE_PERSON = 1; + private final int EDIT_MODE_EXEMPLAR = 2; + private int edit_mode; - + private void startEdit(int edit_mode) { - this.edit_mode=edit_mode; + this.edit_mode = edit_mode; jTable1.setEnabled(false); // setTreeEnabled(jTable1, false); button_refresh.setEnabled(false); @@ -202,7 +209,7 @@ private void saveThis() { } } else { - throw new Error("internal error"); + throw new Error("internal error"); } } @@ -226,7 +233,6 @@ public void run() { textField_datum.setEnabled(false); textField_endedatum.setEnabled(false); - jTable1.addMouseListener(popupListener); jTable1.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @@ -259,12 +265,12 @@ public void focusGained(FocusEvent e) { } startEdit(EDIT_MODE_EXEMPLAR); } + @Override public void focusLost(FocusEvent e) { } }); - textField_endedatum.addFocusListener(new FocusListener() { @Override @@ -279,8 +285,7 @@ public void focusGained(FocusEvent e) { public void focusLost(FocusEvent e) { } }); - - + button_cancel.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -301,7 +306,7 @@ public void actionPerformed(ActionEvent e) { filltable(); } }); - + getRootPane().setDefaultButton(button_ok); // Action copy=jTable1.getActionMap().get("copy"); @@ -314,8 +319,6 @@ public void actionPerformed(ActionEvent e) { } }); - - updateForm(); }