JTabel Selection listener Bsp.

Salo

Aktives Mitglied
Hi,

könnte mir jemand bitte kurz ein kleines Beispielprogramm zeigen,
in dem eine Tabelle angezeigt wird und wenn man eine Zelle anklickt,
in der Konsole ausgegeben wird, welche Zelle man angeklickt hatt.

Ich brauche das nur weil ich das Toturial von Oracle an dem Punkt nicht ganz verstanden habe und in dem Beispiel nicht ganz verstehe was genau dafür nötig ist.
Ich wäre euch sehr dankbar
Gruß Salo
 
Ich muss zugeben, ich kenn mich auch nicht 100% aus, aber der Inhalt in einer Zelle,sagen wir eine Textarea hat ja eine UniqeID. Über die kann man dann den Parent (die Zeile)herausbekommen und dadurch den RowIndex. Mit dem ist es dann relativ einfach eine Ausgabe zu erzeugen.

Hoffe ich konnte dir damit evtl etwas weiterhelfen.
 
Hmm.. MouseListener hinzufügen und im MouseListener bei mouseReleased auf "getSelectedRow()" o. "getSelectedRows()" / "getSelectedColumn()" abfragen.

Code:
public class FrameTest extends JFrame {
       
        private JTable tbl;
       
        public FrameTest(){
            super();
            this.setSize(300, 300);
            tbl = new JTable(new Object[][]{{1,2,3},{4,5,6},{7,8,9}}, new Object[]{"S1", "S2", "S3"});
            tbl.addMouseListener(new MATable());
            this.add(tbl, BorderLayout.CENTER);
        }
       
        private class MATable extends MouseAdapter{

            @Override
            public void mouseReleased(MouseEvent e) {
               
                int row = tbl.getSelectedRow();
                int col = tbl.getSelectedColumn();
               
                if (row >= 0 && col >= 0){
                    System.out.println(tbl.getValueAt(row, col));
                }
            }
        }
    }
 

Neue Themen


Zurück
Oben