如何更改 JFrame 的颜色?

Posted

技术标签:

【中文标题】如何更改 JFrame 的颜色?【英文标题】:How I change the color of JFrame? 【发布时间】:2021-10-23 01:41:30 【问题描述】:

我知道如何更改 JFrame 的背景颜色,但是如何更改背景中的颜色,以便您可以在蓝色背景上看到白色或类似的颜色?

感谢您的帮助。 这是我尝试过的代码部分:

public class Malen extends JLabel 
    protected void painComponent(Graphics g) 
        super.paintComponent(g);  
        
        Graphics2D g2d = (Graphics2D) g;
        
        g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,     RenderingHints.VALUE_ANTIALIAS_ON);
        
        g.setColor(Color.BLACK);
        g.fillRect(0, 0, Variablen.bildschirmbreite, Variablen.bildschirmgröße);
        
        g.setColor(Color.WHITE);
        
        for(int i = 0; i <= 30; i++) 
            g.fillRect(Variablen.bildschirmbreite / 2 - 5, i * 20, 10, 10);                
        
    

【问题讨论】:

你的意思是,像渐变? 你把paintComponent方法拼错了。 @GilbertLeBlanc "你把paintComponent方法拼错了。"这就是为什么当一个方法打算改变现有方法的行为时,代码应该使用@Override标记.如果方法名拼写错误或声明了错误的参数,编译器会发出警告。 【参考方案1】:
JFrame frame = new JFrame();
JPanel panel = new JPanel();

public Gui() 

    JLabel label = new JLabel("white");
    // sets the label to opaque so that backround visible
    label.setOpaque(true);
    // sets the label to white
    label.setBackground(Color.WHITE);
    label.setBounds(0, 0, 500, 500);

    frame.setTitle("White label on blue backround");
    frame.setSize(800, 600);
    frame.setLocationRelativeTo(null);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    panel.setBackground(new Color(123, 50, 250));
    panel.add(label);
    frame.setContentPane(panel);

    frame.setVisible(true);



public static void main(String args[]) 
    new Gui();

【讨论】:

写几句话来解释一下这是如何解决问题的。

以上是关于如何更改 JFrame 的颜色?的主要内容,如果未能解决你的问题,请参考以下文章

如何更改使用 netbeans 中的工具创建的 jDesktopPane 的背景颜色

为 JFrame 设置背景颜色

如何更改 javax.swing 中标题栏的颜色?

如何动态改变JFrame的背景颜色?

如何更改JFrame图标[重复]

如何更改 JFrame 中 JPanel 的大小?