私は、22*12 セルを保持する内部コンテナーを含む JFrame を中心とした外部コンテナーを持つプログラム用に作成している 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);
}
});
}