1

私の問題は、MouseListener を JTable に追加すると結果が得られないことです。

例: クラス OnlineList は JTable を拡張します。

// In constructor:
public OnlineList() {

    this.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {

            System.out.println("Check mouse click");
        }
    });
}

「Check mouse click」のような出力はありません。イベントリスナーは無視されていると思います。

4

1 に答える 1

0

私はあなたが望むことをやろうとしましたが、すべて正常に動作します。これが私のコードです:

    public static void main(String... s) {
     JFrame test = new JFrame("Test");
     JTable t = new JTable(new Object[][]{{1,2},{2,3}},new Object[]{"a","b"});
     t.addMouseListener(getMouseListener());
     test.add(new JScrollPane(t));
     test.setVisible(true);
     test.pack();
}

private static MouseListener getMouseListener() {
    return new MouseAdapter() {
        @Override
        public void mouseClicked(MouseEvent arg0) {
            System.out.println("test");
        }
    };
}

コードでこのオブジェクトを検証することをお勧めします。それは本当にあなたのテーブルですか?

于 2013-10-29T07:04:21.707 に答える