繁体   English   中英

如何向JTable(Java)添加一种监听器?

[英]How to add a type of listener to a JTable (Java)?

我有一个带有纯文本的列。

如果用户双击该列中的行,则该列允许自己编辑该行(应该如此)。

我需要一些东西来检测该文本何时被编辑完成(例如,当用户点击回车键时)。 当发生这种情况时,我需要一些东西来获取该变化的行ID(当然是0)。

有任何想法吗?

谢谢!

您应该向TableModel添加一个监听器:

table.getModel().addTableModelListener(new TableModelListener() {

      public void tableChanged(TableModelEvent e) {
         // your code goes here;
      }
    });

TableModelEvent包含行号和列号以及修改类型。

我认为根据行和列获取点击位置的最简单方法是:

table.addMouseListener(new java.awt.event.MouseAdapter() {
    @Override
    public void mouseClicked(java.awt.event.MouseEvent e) {
        int row = table.rowAtPoint(e.getPoint());
        int column = table.columnAtPoint(e.getPoint());
        if (row >= 0 && column >= 0) {
            ......

        }
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM