带有gridlayout的JLayeredPane?

时间:2013-09-16 22:03:55

标签: java swing user-interface jpanel jlayeredpane

我有办法在JLayeredPane的右侧添加按钮吗?分层窗格包含一个代表国际象棋棋盘的JPanel,在这个棋盘上我有代表棋子的JLabel。我基本上想要另一个面板连接到主板的右侧,其中包含播放器信息和允许重新匹配等的按钮。添加此面板的最佳方法是什么?

以下是我的代码片段。在分层窗格内部设置板面板的部分:

private void setupBoard() {
    paneX = new JLayeredPane();
    getContentPane().add(paneX);
    paneX.setPreferredSize(new Dimension(500,500));

    boardX = new JPanel(); 
    paneX.add(boardX, JLayeredPane.DEFAULT_LAYER);
    boardX.setLayout(new GridLayout(8,8));
    boardX.setBounds(0,0,500,500);
    chessBoard.setPreferredSize(new Dimension(500,500));
}

然后,我继续将jlabels添加到面板上的每个组件。我想像我之前提到的那样在电路板的右侧添加另一个大面板。

1 个答案:

答案 0 :(得分:1)

不能完全理解为什么你会使用JLayeredPane这个,但那只是我。

将主容器的Layout设置为BorderLayout。将boardX添加到主容器的BorderLayout.CENTER位置。

将玩家信息面板添加到主容器的BorderLayout.EAST位置。

设置bounds的{​​{1}}实际上不会产生任何影响,因为父容器将要使用面板首选/最小/最大大小(基于您可能的任何布局管理器)使用)确定最佳尺寸,根据你的代码,可能是500x500 ...