Hallo,
wenn ich eine Zeile in der jTable anklicke und daraufhin andere Bildschirmelemente befülle, geht die Auswahl verloren bzw. wird unsichtbar.
Das heißt ich müsste die Zeile programmtechnisch wieder fokussieren. Bei jedem dieser Versuche friert das Programm ein. Wenn ich diese Versuche woanders ausprobiere, detto.
wenn ich eine Zeile in der jTable anklicke und daraufhin andere Bildschirmelemente befülle, geht die Auswahl verloren bzw. wird unsichtbar.
Das heißt ich müsste die Zeile programmtechnisch wieder fokussieren. Bei jedem dieser Versuche friert das Programm ein. Wenn ich diese Versuche woanders ausprobiere, detto.
Java:
class uSelectionListener implements ListSelectionListener {
JTable table;
uSelectionListener(JTable table) {
this.table = table;
}
public void valueChanged(ListSelectionEvent eve) {
if (eve.getValueIsAdjusting()) {
return;
}
int selectedrow = table.getSelectedRow();
uselectedrow = selectedrow;
int selectedcolumn = table.getSelectedColumn();
if (selectedrow < 0) {
return;
}
// System.out.println("uSelectedrow=" + selectedrow);
if ((eve.getSource() == table.getSelectionModel()) && table.getRowSelectionAllowed()) {
try {
DefaultTableModel model = (DefaultTableModel) table.getModel();
Object object = model.getValueAt(selectedrow, 0);
if (object != null) {
Lurl.setText(object.toString().trim());
String s = model.getValueAt(selectedrow, 2).toString().trim();
Lurltext.setText(s);
Lurltext.setCaretPosition(Math.round(Lurltext.getDocument().getLength() / 2));
if (model.getValueAt(selectedrow, 3) == null) {
s = "";
} else {
s = model.getValueAt(selectedrow, 3).toString().trim();
}
Turlassign.setText(s);
selectedurl = model.getValueAt(selectedrow, 4).toString().trim();
// die beiden befüllen 2 labels nachDatenbankapfragen
checkbassign();
fillassign();
// Das sind meine Versuche:
// table.changeSelection(selectedrow,1,false,false);
// table.changeSelection(selectedrow,3,false,true);
// table.repaint();
// table.getSelectionModel().setSelectionInterval(1, 1);
// table.clearSelection();
// table.addRowSelectionInterval(5, 5);
// SwingUtilities.invokeLater(() -> table.changeSelection(selectedrow,1,false,false));
}
} catch (Exception ex) {
System.err.println(ex);
ex.printStackTrace();
}
}
}
}