我有一個Gui我正在做一個程序,有一個外部容器居中的JFrame包含一個內部容器,包含22 * 12單元格。當我運行這個程序時,背景會閃爍白色並保持這種狀態。如果你能指出我出錯的地方,那就太棒了!swing gui閃爍的白色錯誤
public class Gui extends JFrame
{
private JPanel outer, inner;
private JLabel[][] labels = new JLabel[22][12];
public Gui()
{
setBackground(Color.black);
setSize(1000,1000);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
outer = new JPanel();
outer.setLayout(new BorderLayout());
outer.setSize(620,920);
outer.setBackground(Color.white);
inner = new JPanel();
inner.setLayout(new GridLayout(22,12,10,10));
inner.setSize(600,900);
inner.setBackground(Color.white);
for (int i = 0; i < 22; i++)
{
for (int j = 0; j < 12; j++)
{
labels[i][j] = new JLabel();
JLabel label = labels[i][j];
label.setSize(50,50);
label.setBackground(Color.gray);
inner.add(label);
}
}
outer.add(inner, BorderLayout.CENTER);
add(outer, BorderLayout.CENTER);
}
}
將gui設置爲在實例化它的主類中可見。
gui的創建和尺寸正確。它從黑色背景開始,然後隨機變成白色並保持這種狀態。
編輯:如果這仍然是很重要的:
public static void main(String[] args)
{
SwingUtilities.invokeLater(new Runnable()
{
public void run()
{
Gui gui = new Gui();
gui.setVisible(true);
}
});
}
我想你在構造函數中忘記了'setVisible(true)'。嘗試這個。 – Smit 2013-05-14 15:46:46
發佈您的main()方法,以便我們可以執行您的代碼。 – camickr 2013-05-14 15:51:11