web-dev-qa-db-ja.com

JTable-選択された行のクリックイベント

AbstractTableModelを介してリンクリストが入力されたJtableがあります。

私がやりたいのは、JTableの行をクリック(マウスの左クリック)し、リンクリストが検索(この場合は映画のタイトルを含む)であり、Jtextboxesのリンクリストに値を表示することです

どうすればいいですか?

ここにコードがあります

私の推測では、選択された行からデータを取得して配列に入れ、分割し、jtextareasに入れます。これどうやってするの ?

23
Brian

以下がその方法です。

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());
        }
    });

このコードは、マウスクリックとキーボードからの項目選択に反応します。

51

選択された行を調べるには、 ListSelectionListener を追加します( テーブルの使用方法 例では SimpleTableSelectionDemoJList は、リンクリストのtoArray()メソッドから直接構築でき、詳細に適切なリスナーを追加できます。

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);


} 

jtableでクリック販売する場合は、この方法を使用します

3
Shinwar ismail

これには Glazed Lists を使用することをお勧めします。これにより、データ構造をテーブルモデルに非常に簡単にマップできます。

JTableのマウスクリックに反応するには、ActionListenerを使用します。 JLabelまたはJTableセルのActionListener

1
Wim Deblauwe