【问题标题】:java JTable ignores mouse eventjava JTable忽略鼠标事件
【发布时间】:2013-11-07 18:57:44
【问题描述】:

我的问题是当我将 MouseListener 添加到 JTable 时,没有结果。

示例: OnlineList 类扩展了 JTable。

// In constructor:
public OnlineList() {

    this.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {

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

没有像“检查鼠标点击”这样的输出 我认为事件监听器被忽略了。

【问题讨论】:

  • 谁是this,你确定thisTable 吗?
  • 为什么不是ListSelectionListener

标签: java swing events jtable


【解决方案1】:

我已尝试做您想做的事情,并且一切正常。这是我的代码:

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

我建议您在代码中验证 this 对象,它真的是您的表吗?

【讨论】:

    猜你喜欢
    • 2023-02-14
    • 2021-06-01
    • 1970-01-01
    • 2014-08-27
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 1970-01-01
    相关资源
    最近更新 更多