将 JButton 文本绑定到属性



我是摇摆新手。我用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的所有信息

最新更新