1

現在、ほぼ2時間費やしていますが、機能させることができません。JPanelに画像をペイントしたいだけです。

imageChaserアリーナJPanelに絵を描きたいです。しかし、それは表示されません。私は何を間違っていますか?

私のコードは次のとおりです。

public class GuiGameBoard extends JPanel {

//import stuff


private JPanel arena;

BufferedImage imageChaser;
BufferedImage imageChaserSelected;
BufferedImage imageTarget;

public GuiGameBoard() {

    this.setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));

    arena = new JPanel();
    arena.setPreferredSize(new Dimension(500, 500));
    arena.setBackground(Color.BLACK);


    this.add(arena);

    try 
    {
        File inputChaser = new File("resources\\chaser.png");
        imageChaser = ImageIO.read(inputChaser);

        File inputChaserSelected = new File("resources\\chaser_selected.png");
        imageChaserSelected = ImageIO.read(inputChaserSelected);

        File inputTarget = new File("resources\\target.png");
        imageTarget = ImageIO.read(inputTarget);

    } 
    catch (IOException ie) 
    {
        System.out.println("Error:"+ie.getMessage());
    }

}

public void paintComponent(Graphics g){

    super.paintComponent(g);
    g.drawImage(imageChaser, 0, 0, null);
}

}
4

2 に答える 2

3

JPanel arena問題は、すでにJPanelであるGuiGameBoardクラスに追加して写真を隠していることだと思います。

しかし、SSCCEがなければ、適切な答えを出すことはできません...

于 2013-06-10T13:42:51.243 に答える
1

JFrame などの「トップレベルのコンテナ」を忘れていると思います。

この サンプルコードを見てください。

詳細については、ここをクリックしてください

于 2013-06-10T13:32:48.090 に答える