0

JFrameだから私はJavaでスネークプログラムを持っていますが、完全に動作しますが、フレームクラスではコンテンツペインの背景色を変更できません。使用していますgetContentPane().setBackground(Color.DARK_GRAY);が、動作していません。

これが私のFrameクラスです:

package mainpackage;

import java.awt.Color;
import java.awt.GridLayout;

import javax.swing.JFrame;

public class Frame extends JFrame {

    private static final long serialVersionUID = 1L;

    public Frame() {

        getContentPane().setBackground(Color.BLACK); \\NOT WORKING !!
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setTitle("Snake by Sarp~");
        setResizable(false);
        init();
    }

    public void init() {
        setLayout(new GridLayout(1, 1, 0, 0));


        Screen s = new Screen();
        add(s);

        pack();

        setLocationRelativeTo(null);
        setVisible(true);
    }

    public static void main(String[] args) {
        new Frame();
    }

}
4

1 に答える 1

1
setLayout(new GridLayout(1, 1, 0, 0));

上記のレイアウト マネージャーを使用すると、フレームに追加するすべてのコンポーネントがコンテンツ ペインを完全に覆います。

Screen s = new Screen();
add(s);

コンテンツ ペインの背景を設定できますが、コンテンツ ペインにコンポーネントを追加します。Screenそのため、コンテンツ ペインの上にコンポーネントの色が表示されます。

Screen オブジェクトの色を好きな色に設定します。

s.setBackground( Color.BLACK );
于 2016-11-27T00:03:09.280 に答える