Java Swing : How to bind a JLabel's text to a column in the selected row of a JTable?

标签 java user-interface swing jtable beans-binding

我正在使用 Netbeans,并试图找到一种让 IDE 为我自动生成代码的方法。我记得之前将 JLabel 的文本绑定(bind)到 JTable 的选定行中的列,但在这种情况下,JTable 的值来自实体管理器,而且非常简单。我想知道即使 JTable 没有绑定(bind)到数据库是否有办法做到这一点。

此外,还有什么办法可以做到这一点呢?我正在考虑实现一个 ListSelectionListener,每当生成事件时,只需更新标签的文本即可。

最佳答案

我认为你的第二种解决方案是最好的方法,如下所示:

public class LabelSyncer implements ListSelectionListener {

    private JLabel toSync;
    private int columnIndex;

    public LabelSyncer(JLabel toSync, int columnIndex) {

    }

    public void valueChanged(ListSelectionEvent e) {
        JTable table = (JTable) e.getSource();
        int row = table.getSelectedRow();
        toSync.setText(table.getModel().getValueAt(row, columnIndex).toString());
    }
}

然后

table.getSelectionModel().addListSelectionListener(new LabelSyncer(label, columnIndex));

类似这样的事情。可能是一个更通用的解决方案,但这应该可行。

关于Java Swing : How to bind a JLabel's text to a column in the selected row of a JTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1796972/

相关文章:

java - 使用 RGBA 中的 alpha 设置图像的不透明度

user-interface - 我应该学习什么语言来创建命令行脚本和 GUI?

java线程和jtabbedpane

java - 制作一个简单的 RPG - 创建一个新的 JFrame

java - 当没有控制台时,Java 是否为 System.out.println(...) 运行任何东西?

java - JTable 行排序器 - IllegalArgumentException : Invalid SortKey

html - 如何在密码类型的输入元素中设置文本位置?

java - java中的用户界面

java - 如何向 JPanel 添加图像?

java - 休息。 Jersey 。如何以编程方式选择返回 : JSON or XML? 的类型