我正在尝试创建一个扩展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}}
我该如何解决?谢谢你们
答案 0 :(得分:0)
您必须向JLayeredPane添加布局,例如GridLayout。试试这个:
GridLayout gl = new GridLayout(20, 21);
lp.setLayout(gl);
初始化lp
后。然后,您可以将所需的所有组件添加到GridLayout,例如lp:
gl.add(lp)
布局将管理事物的显示方式;在这种情况下,它将从GridLayout填充网格,首先是第一行(其中20个存在),然后是第二行,依此类推(我不认为你实际上需要20行,就像那样在我的示例代码中)