M
Minihops
Gast
Hallo,
ich bin noch nicht sehr geübt im Umgang mit Listener und GUI Programmierung. Daher habe ich folgendes Problem:
Ich habe eine Tabelle in die ich Daten eingebe. Habe ich in die 1. Zelle einen Wert eingegeben, soll das Programm in die 2 Zelle springen und dort direkt den Cursor setzen.
Meine Idee dazu war folgende:
Ich habe eine TableModelChanged Listener zum Table Model hinzugefügt und in die tableChanged Methode folgendes geschrieben:
und vorher dieses hier:
Allerdings bekomme ich dann einen irrelangen Stacktrace mit folgendem Fehler:
und mit dem kann ich nix Anfangen.
Danke für eure Hilfe
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:387)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:417)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:441)
at javax.swing.JTable.changeSelectionModel(JTable.java:1583)
at javax.swing.JTable.changeSelection(JTable.java:1628)
at de.catherine.gui.takeOrder.jModeltableChanged(takeOrder.java:232)
at de.catherine.gui.takeOrder.access$3(takeOrder.java:228)
at de.catherine.gui.takeOrder$4.tableChanged(takeOrder.java:166)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:259)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:639)
at javax.swing.JTable.setValueAt(JTable.java:1875)
at javax.swing.JTable.editingStopped(JTable.java:3333)
edit: omg sonst gehts noch? wenn du willst kannst du ja den space für die db das nächste mal selbst bezahlen :autsch:
ich bin noch nicht sehr geübt im Umgang mit Listener und GUI Programmierung. Daher habe ich folgendes Problem:
Ich habe eine Tabelle in die ich Daten eingebe. Habe ich in die 1. Zelle einen Wert eingegeben, soll das Programm in die 2 Zelle springen und dort direkt den Cursor setzen.
Meine Idee dazu war folgende:
Ich habe eine TableModelChanged Listener zum Table Model hinzugefügt und in die tableChanged Methode folgendes geschrieben:
Code:
private void jModeltableChanged(TableModelEvent e) {
if (e.getColumn()==0 && e.getType() == e.UPDATE) {
jTable1.changeSelection(e.getFirstRow(),1,false,false);
jTable1.editCellAt(e.getFirstRow(),1);
}
und vorher dieses hier:
Code:
jTable1Model.addTableModelListener(new TableModelListener () {
public void tableChanged(TableModelEvent e) {
jModeltableChanged(e);
}
});
Allerdings bekomme ich dann einen irrelangen Stacktrace mit folgendem Fehler:
und mit dem kann ich nix Anfangen.
Danke für eure Hilfe
Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:387)
at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:417)
at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:441)
at javax.swing.JTable.changeSelectionModel(JTable.java:1583)
at javax.swing.JTable.changeSelection(JTable.java:1628)
at de.catherine.gui.takeOrder.jModeltableChanged(takeOrder.java:232)
at de.catherine.gui.takeOrder.access$3(takeOrder.java:228)
at de.catherine.gui.takeOrder$4.tableChanged(takeOrder.java:166)
at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:280)
at javax.swing.table.AbstractTableModel.fireTableCellUpdated(AbstractTableModel.java:259)
at javax.swing.table.DefaultTableModel.setValueAt(DefaultTableModel.java:639)
at javax.swing.JTable.setValueAt(JTable.java:1875)
at javax.swing.JTable.editingStopped(JTable.java:3333)
edit: omg sonst gehts noch? wenn du willst kannst du ja den space für die db das nächste mal selbst bezahlen :autsch: