-1

有没有办法让我在 JLayeredPane 的右侧添加按钮?分层窗格包含一个代表棋盘的 JPanel,在这个棋盘上我有代表棋子的 JLabels。我基本上想要另一个面板连接到板的右侧,其中包含玩家信息和允许重赛/等的按钮。添加此面板的最佳方法是什么?

这是我的代码片段。在 layeredpane 内设置板面板的部分:

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 添加到面板上的每个组件。我想像前面提到的那样在板的右侧添加另一个大面板。

4

1 回答 1

2

不太明白为什么你会为此使用 a JLayeredPane,但这只是我。

Layout主容器的 设置为BorderLayout。添加boardXBorderLayout.CENTER主容器的位置。

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

设置 的boundsboardX不会真正产生任何影响,因为父容器将希望使用面板首选/最小/最大尺寸(基于您可能使用的任何布局管理器)来确定制作它的最佳尺寸,这基于在你的代码上,无论如何可能是 500x500 ......

于 2013-09-16T22:10:04.187 回答