【问题标题】:Controling the look and feel of JButtons on Mac在 Mac 上控制 JButton 的外观
【发布时间】:2011-11-22 04:24:56
【问题描述】:

对于我的任务,我需要 JFrame 中的网格 JPanel 中的二维 JButton 数组。单击时,JButtons 必须改变颜色。我不能让它们保持任何颜色。

我实现了previous thread 中提出的解决方案,发现解决方法只产生边框颜色:

JButton button = new JButton("test");
button.setBackground(Color.RED);
button.setOpaque(true);

取消绘制边框:

button.setBorderPainted(false);

只是让整个 JFrame 变成红色。

此问题仅与 MAC 计算机有关,而不是分配的预期问题。

有什么想法吗?

【问题讨论】:

    标签: java macos swing look-and-feel


    【解决方案1】:

    记住:Swing 工具包非常擅长让系统的外观和感觉“几乎正确”。但是,如果您真的需要系统感觉,还有其他选项(例如 SWT)更适合。

    如果你想要一致性,那么 Swing 总是可以默认使用老式的小程序外观,虽然有点乏味,但非常可靠。 这样做的好处是,当我们回滚到这更多时看起来简单的 gui 工具包,平台特定的怪癖似乎神奇地消失了。

    我想你可能会发现你的问题很容易解决如果你只是将外观设置为标准的挥杆风格外观和感觉。

    解决方案

    我建议打电话给

        UIManager.setLookAndFeel(
            UIManager.getCrossPlatformLookAndFeelClassName());
    

    在您初始化应用程序的静态代码块中。

    【讨论】:

    • 对此有一些麻烦,但我最初将它放在我的主要方法的末尾。它需要在一开始就去。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-19
    • 2010-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多