Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaでJTable行のダブルクリックイベントを検出するにはどうすればよいですか?


JTable JComponentのサブクラスです 複雑なデータ構造を表示するため。 JTableは、 Model View Controller(MVC)デザインパターンに従うことができます。 行と列にデータを表示するため。 JTableは、 TableModelListener、TableColumnModelListener、ListSelectionListener、CellEditorListenerを生成できます。 およびRowSorterListener インターフェイス。 MouseAdapter を使用すると、JTableのダブルクリックイベントを検出できます。 クラスまたはMouseListener インターフェース。 getClickCount()を設定できます '2'の値 MouseEvent JTableのダブルクリックイベントを検出するためのクラス。

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public final class DoublClickJTableRowTest extends JFrame {
   private JTable table;
   private JScrollPane scrollPane;
   public DoublClickJTableRowTest() {
      setTitle("DoublClickJTableRow Test");
      String[] columnNames = {"First Name", "Last Name"};
      Object[][] data = {{"Raja", "Ramesh"}, {"Adithya", "Sai"}, {"Vineet", "Kumar"}, {"Krishna", "Kasyap"}};
      table = new JTable(data, columnNames) {
         public boolean editCellAt(int row, int column, java.util.EventObject e) {
            return false;
        }
      };
      table.setFocusable(false);
      table.addMouseListener(new MouseAdapter() {
         public void mouseClicked(MouseEvent me) {
            if (me.getClickCount() == 2) {     // to detect doble click events
               JTable target = (JTable)me.getSource();
               int row = target.getSelectedRow(); // select a row
               int column = target.getSelectedColumn(); // select a column
              JOptionPane.showMessageDialog(null, table.getValueAt(row, column)); // get the value of a row and column.
            }
         }
      });
      scrollPane= new JScrollPane(table);
      add(scrollPane);
      setSize(375, 250);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setLocationRelativeTo(null);
      setVisible(true);
   }
   public static void main(String[] args) {
      new DoublClickJTableRowTest();
   }
}

出力

JavaでJTable行のダブルクリックイベントを検出するにはどうすればよいですか?


  1. JavaでJTableのワードラップJTableHeaderを実装するにはどうすればよいですか?

    JTableHeader JTableHeader JComponentのサブクラスです クラス。 JTableを作成するとき オブジェクトの場合、コンストラクターは新しい JTableHeaderを作成します テーブルコンポーネントのヘッダーを管理するオブジェクト。 JTableHeader テーブルコンポーネントの列モデルに関連付けられたオブジェクト そのUIデリゲート 列をドラッグして、各列のヘッダーセルをレンダリングできます。 JTableはsetTableHeader()を提供します テーブルヘッダーコンポーネントのJTableHeaderを確立するメソッド オ

  2. ダブルクリックをキャッチして、JavaでJListの主要なイベントを入力するにはどうすればよいですか?

    JList JComponentを拡張できます ユーザーが単一または複数の選択肢を選択できるようにするクラス。 JList ListSelectiionListenerを生成できます インターフェースであり、1つの抽象メソッド valueChanged()。が含まれています JList MouseListenerを生成することもできます ダブルクリックイベントiをキャッチするためのインターフェース nリストを作成し、 KeyListenerを生成します エンターキーイベントをキャッチするためのインターフェース 。 例 import java.awt.*; import java