我是摇摆新手。我用JTree,JCheckBox,JList和JButton做了一个小应用程序。我正在使用关联的模型类来存储表示状态。工作正常,除了 JButton。我想根据模型的属性更新按钮的文本。基本上,无论用户当前是否登录,它都会从登录/注销更改为注销。不幸的是,我在 ButtonModel 界面中找不到 setText 方法。谁能告诉我怎么做?
谢谢。俘虏。
对于JButton
,您可以使用Action
作为模型。Action
接口定义了JButton
用来从Action
中检索其状态的键,包括文本:Action.NAME
如果您查看源代码,带有Action
(或简称 setAction
方法)的构造函数使用来自Action
的更多信息,然后可以从ButtonModel
中检索到的信息。对于其他构造函数也是如此,例如
public JButton(String text, Icon icon) {
// Create the model
setModel(new DefaultButtonModel());
// initialize
init(text, icon);
}
因此,您的评估似乎是正确的,即ButtonModel
不包含用于可视化典型JButton
的所有信息