Добавить JLabel на JPanel - BorderLayout - PullRequest
0 голосов
/ 02 апреля 2012

Я хочу создать игру в понг с движущимся мячом и всем прочим. Сейчас я работаю над метками партитуры, которые я хочу добавить с каждой стороны центральной линии. Одна метка для счета компьютера, а другая для счета игрока. Проблема в том, что моя панель настроена на BorderLayout. Я не знаю, как я могу добавить свою панель в это место.

вот мой код конструктора:

 * Constructor : PlayPanel.java
 */
// ==============================================
public PlayPanel() {
    super(new BorderLayout());
    setBackground(Color.DARK_GRAY);

    panPlayer1 = new JPanel();
    panComputer = new JPanel();

    padPlayer1 = new JPanel();
    padComputer = new JPanel();

    padPlayer1.setPreferredSize(PADPANEL_SIZE);
    padComputer.setPreferredSize(PADPANEL_SIZE);

    panPlayer1.setBackground(PAN_PLAY);
    panComputer.setBackground(PAN_PLAY);

    panPlayer1.add(padPlayer1);
    panComputer.add(padComputer);

    add(panPlayer1, BorderLayout.WEST);
    add(panComputer, BorderLayout.EAST);

    player1Score.setFont(FONT_SCORE);
    ComputerScore.setFont(FONT_SCORE);

    // Add them to each side if the line !?!?!?!?!?!?
    add(player1Score);
    add(ComputerScore);

    addMouseMotionListener(this);

    panPlayer1.addComponentListener(new ComponentAdapter() {

        @Override
        public void componentResized(ComponentEvent arg0) {
            setPanPanelWidth(arg0.getComponent().getSize().width);
            setPanPanelHeight(arg0.getComponent().getSize().height);
        }

    });

    addComponentListener(new ComponentAdapter() {

        @Override
        public void componentResized(ComponentEvent arg0) {

            setPlayPanelWidth(arg0.getComponent().getSize().width);
            setPlayPanelHeight(arg0.getComponent().getSize().height);
        }

    });
}

1 Ответ

3 голосов
/ 02 апреля 2012

У вас есть два варианта:

  1. Добавьте их обоих в 1 строку, 2 столбца GridLayout, а затем добавьте их в BorderLayout.NORTH вашего главная панель

  2. Включите их в свои playerPanel и ComputerPanel объекты. (Я бы также изменил регистр ComputerPanel на computerPanel).

...