我希望每个 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/