web-dev-qa-db-de.com

JTable - Ausgewähltes Zeilenklickereignis

Ich habe eine Jtable, die über ein AbstractTableModel mit einer verknüpften Liste gefüllt ist.

Was ich tun möchte, ist, wenn ich mit der linken Maustaste auf eine Zeile in der JTabelle klicke, die verknüpfte Liste durchsucht wird (in diesem Fall enthält sie Filmtitel) und die Werte in der verknüpften Liste in JTextboxen anzeigt

Wie mache ich das?

Hier ist der Code

Ich vermute, es ruft die Daten aus der ausgewählten Zeile in ein Array ab, teilt sie auf und fügt sie in die jtextareas ein. Wie kann ich das machen ?

23
Brian

So habe ich es gemacht:

table.getSelectionModel().addListSelectionListener(new ListSelectionListener(){
        public void valueChanged(ListSelectionEvent event) {
            // do some actions here, for example
            // print first column value from selected row
            System.out.println(table.getValueAt(table.getSelectedRow(), 0).toString());
        }
    });

Dieser Code reagiert auf Mausklick und Elementauswahl über die Tastatur.

51

Um zu erfahren, welche Zeile ausgewählt wurde, fügen Sie ein ListSelectionListener hinzu, wie in Verwendung von Tabellen im Beispiel SimpleTableSelectionDemo . Ein JList kann direkt aus der toArray() -Methode der verknüpften Liste erstellt werden, und Sie können einen geeigneten Listener für Details hinzufügen.

5
trashgod
 private void jTable1MouseClicked(Java.awt.event.MouseEvent evt) {                                     
     JTable source = (JTable)evt.getSource();
            int row = source.rowAtPoint( evt.getPoint() );
            int column = source.columnAtPoint( evt.getPoint() );
            String s=source.getModel().getValueAt(row, column)+"";

            JOptionPane.showMessageDialog(null, s);


} 

wenn Sie möchten, klicken Sie auf "In jtable verkaufen" und verwenden Sie diese Methode

3
Shinwar ismail

Ich würde empfehlen, dafür Glasierte Listen zu verwenden. Es macht es sehr einfach, eine Datenstruktur einem Tabellenmodell zuzuordnen.

Verwenden Sie einen ActionListener, um auf den Mausklick auf der JTable zu reagieren: ActionListener auf der JLabel- oder JTable-Zelle

1
Wim Deblauwe