【问题标题】:Show user that something is on from JButton向用户显示来自 JButton 的某些内容
【发布时间】:2012-02-13 19:31:34
【问题描述】:

好的,我承认 - 标题不是最具描述性/帮助性的,但我真的想不出更好的方式来表达它,这可能也是我在搜索时找不到答案的原因.

基本上,我正在制作一个类似于文本编辑器的基本 MS 记事本,我想添加两个 JButton 来制作 JTextArea 的字体粗体和斜体。我需要以某种方式指示文本当前是否为粗体和/或斜体,例如在 MS Office 程序中,当文本为粗体、斜体或下划线时,按钮的背景为橙色 - 只是我似乎无法更改按钮的背景.我认为这是因为我正在使用操作系统的外观,但这些信息仍然不能解决我的问题。

那么对于我如何通过 JButton (如 Microsoft Office Word 中的文本是否为粗体和/或斜体)提供一些反馈,是否有人有任何建议?提前致谢。

【问题讨论】:

    标签: java swing jbutton jtogglebutton


    【解决方案1】:

    嗯...听起来您会想要使用 JToggleButton 类。

    【讨论】:

    • 是的! JToggleButton 完美地做到了这一点。谢谢!只是好奇,当它被选中时有没有改变颜色?
    • @Andy,我很高兴我的回答有所帮助。关于选择时设置此按钮颜色的问题,请看this
    • 感谢您的链接,再次感谢您的回答 - 我可以做我现在需要做的事情...
    【解决方案2】:

    您可以使用 setBackground 方法设置 JButton 对象的背景颜色。

    所以:

    JButtonName.setBackground(Color.ORANGE);
    

    【讨论】:

    • 不幸的是,我已经尝试过了,因此“我似乎无法更改按钮的背景”(我真的应该更好地措辞这个事实)但还是谢谢你......
    【解决方案3】:

    除了 David 和 mre 的 cmets 之外,JButtons 和扩展的 JToggleButtons 默认不是不透明的,因此不绘制背景。除了设置背景颜色,还需要:

    jButtonName.setOpaque(true);
    

    【讨论】:

    • Background 实际上并不是 JButton 的颜色,它是 JButton 后面的 JPanel 区域的颜色,因此不幸的是,这条线仍然不能满足我的要求。还是谢谢。
    猜你喜欢
    • 2020-08-16
    • 1970-01-01
    • 2011-10-12
    • 2012-01-15
    • 2016-06-07
    • 2012-05-27
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    相关资源
    最近更新 更多