无法在JPanel中看到JLayeredPane中的内容

时间:2017-04-25 12:50:37

标签: java swing jpanel jlabel jlayeredpane

我正在尝试创建一个扩展JPanel用于步步高游戏和JLayeredPane的棋盘类,为我的棋子创建一个拖动区域,但我甚至无法在面板上打印一个简单的矩形。它确实打印图像但不打印JLabel。 这是我的JPanel类

 public static void main(String[] args){

    JFrame f = new JFrame();

    //GamePanel gp = new GamePanel();
    BoardPanel gp = new BoardPanel();

    f.add(gp);

    //f.getContentPane().add(gamePanel);
    f.setSize(new Dimension(1500, 1000));
    f.setVisible(true);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

}

还有主要的

{{1}}

我该如何解决?谢谢你们

1 个答案:

答案 0 :(得分:0)

您必须向JLayeredPane添加布局,例如GridLayout。试试这个:

GridLayout gl = new GridLayout(20, 21);
lp.setLayout(gl);
初始化lp

。然后,您可以将所需的所有组件添加到GridLayout,例如lp:

gl.add(lp)

布局将管理事物的显示方式;在这种情况下,它将从GridLayout填充网格,首先是第一行(其中20个存在),然后是第二行,依此类推(我不认为你实际上需要20行,就像那样在我的示例代码中)