Java GUI编程:设置Fore/Background

Gru*_*ear 3 java user-interface swing colors jframe

我刚刚进入GUI编程,慢慢学习.

但是我遇到了蝙蝠的问题.我根本无法在窗口中更改Fore/Background颜色.

但是,当我通过JLabel添加标签然后使用setFore/Back时,它们会很好地改变颜色.只是没有整个窗口.

我以为.setForeground和.setBackground应该改变窗口的颜色?

import javax.swing.*;
import java.awt.*;

public class MyWindow {

    public static void main(String args[])
    {
         Runnable init = new Runnable()
         {
             public void run()
             {

                    JFrame myWindow = new JFrame("Hola!");
                    myWindow.setForeground(Color.YELLOW);
                    myWindow.setBackground(Color.YELLOW);
                    myWindow.setSize(400, 300);

                    myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    myWindow.setLayout(null);

                    myWindow.setVisible(true);

             }

         };
         SwingUtilities.invokeLater(init);
    }


}
Run Code Online (Sandbox Code Playgroud)

mre*_*mre 9

首先,不要使用null布局.让布局管理器完成它的工作.其次重要的是,你需要设置的内容窗格的背景中的JFrame实例,因为这样

myWindow.getContentPane().setBackground(Color.YELLOW);
Run Code Online (Sandbox Code Playgroud)

也可以看看: