【问题标题】:Custom JButton with nimbus使用 nimbus 自定义 JButton
【发布时间】:2012-12-05 10:07:07
【问题描述】:

您好,我正在尝试从 nimbus 自定义 JButton,这就是我所做的:

public static void main(String[] args) 
{
    // TODO Auto-generated method stub
    Font police1 = new Font("Tahoma", Font.BOLD, 12);
    try {
        for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                UIManager.setLookAndFeel(info.getClassName());
                UIManager.getLookAndFeelDefaults().put("Button.background",new Color(18,55,63));
                UIManager.getLookAndFeelDefaults().put("Button.font", police1);
                UIManager.getLookAndFeelDefaults().put("Button.textForeground", new Color(122,216,247));

                break;
            }
        }
    } catch (Exception e) {
        // If Nimbus is not available, you can set the GUI to another look    and feel.
}

这就是我得到的:

如您所见,每个按钮周围都有某种灰色边框,我正在尝试将其删除或更改其颜色,但我找不到方法:( .

一旦我按下它们,我就会得到这个:

这实际上是最接近 Color(18,55,63) 的那个。请问有没有办法分别自定义正常外观和压制外观? 我检查了这个链接http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/_nimbusDefaults.html,但它对我没有帮助。

【问题讨论】:

    标签: java swing jbutton nimbus


    【解决方案1】:

    每个按钮周围都有某种灰色边框,我正在尝试 删除它或改变它的颜色,但我找不到如何

    要摆脱JButton 边框,只需调用JButton.setBorderPainted(boolean) 或者,您可以创建一个满足您需求的自定义Border 并调用JButton.setBorder(Border)

    【讨论】:

    • 感谢您的回答,但不幸的是 Button.setBorderPainted(false);没有改变任何东西,它可能不适用于 nimbus 按钮。 :(
    • @Exia0890 已经查看了 Button 的 XxxPainters,另一种方法可以在 Nimbus 默认值上使用,但也会与另一个 JComponents 一致,问题只有 JButton 周围的边框是问题???
    • 是的,我明白了。 Urgh Nimbus..在决定删除此帖子之前,我仍在寻找一些可能性,因为它与问题完全无关
    【解决方案2】:

    我不知道“XxxPainters”但是,这里有一个边框的解决方案 With Nimbus, make control background color yellow only when control has focus? 在这里,我发现了一些有用的提示来重新创建按钮: Creating a custom button in Java with JButton.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多