繁体   English   中英

背景颜色和GTK外观

[英]Background color and GTK Look and Feel

我在设置JButton的背景颜色时遇到了麻烦。 例如,当我执行button.setBackground(Color.ORANGE)时,我得到了这个 在此输入图像描述

但是当我禁用GTK外观时感觉还可以。 设置背景的另一种方法是什么? 谢谢。

GTK外观和感觉定义了它自己的视觉呈现按钮的方式,所以当你使用“button.setBackground(Color.ORANGE)”它只改变背景下的按钮,然后GTK外观和感觉绘制自己的(灰色)表示按钮顶部的背景。

如果您想要一个简单的橙色按钮,您可以更改自己的按钮的UI,例如:

public static void main ( String[] args )
{
    JButton orangeButton = new JButton ( "X" );
    orangeButton.setUI ( new MyButtonUI ());
}

private static class MyButtonUI extends BasicButtonUI
{
    public void paint ( Graphics g, JComponent c )
    {
        JButton myButton = ( JButton ) c;
        ButtonModel buttonModel = myButton.getModel ();

        if ( buttonModel.isPressed () || buttonModel.isSelected () )
        {
            g.setColor ( Color.GRAY );
        }
        else
        {
            g.setColor ( Color.ORANGE );
        }
        g.fillRect ( 0, 0, c.getWidth (), c.getHeight () );

        super.paint ( g, c );
    }
}

此代码示例将创建一个按钮,该按钮在按下时为灰色,在未按下时为橙色。 当然,您可以根据需要设定绘画样式并更改按钮视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM