java - 扩展 java swing 按钮?

标签 java swing jbutton

我希望每个 JButton 也有一个与之关联的数字或 ID。这就是为什么我决定扩展 JButton 类以创建一个类 SuperJButton。

如何在单击此按钮时生成的操作事件中包含 id/number 的值,以便响应此操作的类可以访问 id?

最佳答案

另一种不需要子类化的替代方法是使用 JComponent.putClientProperty(Object key, Object value) 来存储与您的按钮关联的 ID。

可以使用 getClientProperty(Object key) 检索它。

public void actionPerformed(ActionEvent e) 
{
   JComponent comp = (JComponent)e.getSource();
   KeyObject kObj = (KeyObject)comp.getClientProperty("button.id");
}

这可能更灵活一些,因为您可以将此 ID 附加到每个按钮,而无需使用特定于应用程序的代码,例如在使用 GUI 构建器时更改按钮的创建代码有点复杂,或者当您需要使用现有组件时。

关于java - 扩展 java swing 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15740802/

相关文章:

Java:扫描器读取整数,但不在 while/for 循环中使用它

java - 如何使用 apache nifi 连接到远程 postgresql

java - REFRESH 和 MERGE 在数据库方面是什么意思?

java - 获取按钮在网格布局上的位置

Java - JFormattedTextField 不允许首次尝试输入

java - 自动生成JButtons的方法?

java - 有没有办法在通过 Selenium 加载后将一些js添加到所有页面中?

JPanel 中的 Java Linux 终端

java - 更改 ActionPerformed 上的 JButton 颜色

java - 将 JButtons 对齐在嵌套 JPanel 的中心 (BoxLayout)