JFrame背景颜色不会改变?

时间:2013-04-18 23:19:39

标签: java swing jframe

所以,我正在尝试显示一个简单的JFrame,但我无法更改背景颜色?做了一些搜索,他们都建议使用我拥有的useContentPane。

 import java.awt.*;

import javax.swing.*; 


public class Login {

     public static void main(String[] args) {

         createWindow();

         } 

    private static void createWindow() {
        JFrame frame = new JFrame("Login System");
        frame.getContentPane().setBackground(Color.darkGray);
        frame.setSize(350, 350);    
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JTextField username = new JTextField();
        frame.add(username);
        frame.setVisible(true);
    }


}

JFrame大小有效,但背景却没有,而TextField则没有,对此很新。有任何想法吗?感谢所有帮助。

2 个答案:

答案 0 :(得分:4)

代码工作正常。问题是您的文本字段占用了整个框架。尝试:

//frame.add(username);
frame.add(username, BorderLayout.NORTH);

答案 1 :(得分:0)

您的代码存在的问题是您的文本字段覆盖了整个jframe

其中一种方法是在设计视图中减小文本字段大小,然后在代码中添加此行

<强>的getContentPane()的setBackground(Color.BLACK);