rtt hat gesagt.:Wie kann ich denn anhand der zurück gegebenen Zeilenzahl die Werte der Zeile holen?
int iSelectedRow = yourTable.getSelectedRow();
Object yourValue = yourTable.getModel().getValueAt(iSelectedRow, iColumnOfYourWish);
Ich hab zusätzlich auch noch einen Button, der standartmäßig deaktiviert ist. Der soll aktiviert werden, sobald ich eine Zeile ausgewählt habe. Wie kann ich das machen?
Danke
Eine eigene Tabel extends JTable ist IMHO sinnvoller...Snape hat gesagt.:Dazu würde mir nur ein MouseListener einfallen.
Wildcard hat gesagt.:Eine eigene Tabel extends JTable ist IMHO sinnvoller...Snape hat gesagt.:Dazu würde mir nur ein MouseListener einfallen.
Snape hat gesagt.:Wenn aber noch kein value changed wird, sondern nur eine Zeile markiert?
Die Api (JTable#valueChanged) hat gesagt.:Invoked when the row selection changes -- repaints to show the new selection.
Das kommt vom ListSelectionListener Interface. Kann man nichts machen :wink:Snape hat gesagt.:Ups...in diesem Fall Asche auf mein Haupt. Was ich immer sage, wer lesen kann...
(Wobei valueChanged mit dieser Funktionalität ein ziemlich irreführender Begriff ist)
int iSelectedRow = f.tblKinderAnzeige.getSelectedRow();
Object yourValue = f.tblKinderAnzeige.getModel().getValueAt(iSelectedRow, 1);
DefaultTableModel tblKinderAnzeigeModel = new DefaultTableModel(
new String[][] { { "One", "Two", "One", "Two", "One" },
{ "One", "Two", "One", "Two", "One" } },
new String[] { "Column 1", "Column 2", "Column 3", "Column 4", "Column 5" });
JTable tblKinderAnzeige = new JTable(tblKinderAnzeigeModel);
scrlPaneKinder.setViewportView(tblKinderAnzeige);
tblKinderAnzeige.setModel(tblKinderAnzeigeModel);
tblKinderAnzeige.setRowSelectionAllowed(true);
if(e.getSource()==f.btnBearbeitenSchuldnerKindBearbeiten)
{
try
{
schuldner =f.txtAnsichtIdent.getText();
dbVerbindung = DriverManager.getConnection("jdbc:odbc:Landau","","");
sqlStatement = dbVerbindung.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
resultSetKinder = sqlStatement.executeQuery("SELECT ID_kind, ID_schule, k_vorname, k_nachname, k_klasse FROM t_kinder Where ID_schuldner = "+schuldner+"");
resultSetKinder.moveToCurrentRow();
TableModel tblKinderAnzeigeModel1 = new DefaultTableModel(
new String[][] { ,
},
new String[] { "Vorname", "Nachname", "Schule", "Schulkürzel", "Klasse" });
JTable tblKinderAnzeige4 = new JTable(tblKinderAnzeigeModel1);
f.scrlPaneKinder.setViewportView(tblKinderAnzeige4);
while (resultSetKinder.next())
{
IDkind=resultSetKinder.getString(1);
IDschule=resultSetKinder.getString(2);
vorname=resultSetKinder.getString(3);
nachname=resultSetKinder.getString(4);
klasse=resultSetKinder.getString(5);
try
{
dbVerbindung = DriverManager.getConnection("jdbc:odbc:Landau","","");
sqlStatement = dbVerbindung.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
schulAnzeige = sqlStatement.executeQuery("SELECT schu_kurz, schu_name FROM t_schulen Where schu_ID = "+IDschule+"");
schulAnzeige.moveToCurrentRow();
while (schulAnzeige.next())
{
kindSchulKurz=schulAnzeige.getString(1);
kindSchulName=schulAnzeige.getString(2);
}
}
catch(SQLException es)
{
System.out.println("fehler beim sql"+es);
}
((DefaultTableModel)tblKinderAnzeigeModel1).addRow( new String[] { vorname, nachname, kindSchulKurz, kindSchulName, klasse });
}
int iSelectedRow = tblKinderAnzeige4.getSelectedRow();
int iSelectedCol = tblKinderAnzeige4.getSelectedColumn();
System.out.println(iSelectedRow);
System.out.println(iSelectedCol);
Object yourValue = tblKinderAnzeige4.getModel().getValueAt(0,0);
System.out.println(yourValue);
}
catch(NullPointerException n)
{
System.out.println("nullpointer1 "+n);
}
catch(SQLException es)
{System.out.println("fehler beim sql"+es);}
}