Zadejte hledaný výraz...

JTable Actionlistener při klepnutí parametr jako ID z databáze

Lukáš Maršík
verified
rating uzivatele
(3 hodnocení)
29. 11. 2014 13:18:35
Zdravím
Potřeboval bych poradit.
Mám tabulku vytvořenou pomocí AbstractTableModel. V této tabulce mám řádky. A já potřebuji přidat ActionListener, který by vracel jako parametr id ze sloupce „ID from database“ Viz obrázek.
Tento ActionListener bych chtěl volat, když klepnu na daný řádek 2x po sobě.
Moje otázka je taková, jak dostat jako parametr „id from db“ z tabulky do JDialogu.
13602
Děkuji za každou pomoc.
29. 11. 2014 13:18:35
https://webtrh.cz/diskuse/jtable-actionlistener-pri-klepnuti-parametr-jako-id-z-databaze#reply1072453
joe32
verified
rating uzivatele
13. 12. 2014 21:09:41
Daj to do konstruktora kde vytvaras ten dialog.
napriklad mas listener pouzijem kod odtialto: http://stackoverflow.com/questions/14852719/double-click-listener-on-jtable-in-java
mytable.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent me) {
JTable table =(JTable) me.getSource();
Point p = me.getPoint();
int row = table.rowAtPoint(p);
if (me.getClickCount() == 2) {
// your valueChanged overridden method
// tu vytiahnes data z tvojho modelu
DomainModel dm = myTableModel.get(row);
// a vytvoris Jdialog:
new MyDialog(dm).setVisible(true);
}
}
});
No a v MyDialog mas potom model toho vybraneho riadku. odtial uz vytiahnes aj Id alebo hocico.
A este myTableModel je tvoj AbstractTableModel(btw existuje aj DefaultTableModel, kde je tohoviac teda pises menej kodu:)). Pravdepodobne tam mas data ulozene v nejakom List-e, takze by si tam mal mat tu metodu get, ktora vrati model riadku:
DomainModel get(int row) {
return myList.get(row);
}
Kodu zdar :)
13. 12. 2014 21:09:41
https://webtrh.cz/diskuse/jtable-actionlistener-pri-klepnuti-parametr-jako-id-z-databaze#reply1072452
Pro odpověď se přihlašte.
Přihlásit