0

動くボールなどを使って Pong ゲームを作りたいと思っています。現在、中心線の両側に追加するスコア ラベルに取り組んでいます。1 つはコンピュータ スコア用のラベルで、もう 1 つはプレーヤー スコア用のラベルです。問題は、パネルが 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);
        }

    });
}
4

1 に答える 1

3

次の 2 つのオプションがあります。

  1. 両方を 1 行 2 列GridLayoutに追加してから、それをBorderLayout.NORTHメイン パネルに追加します。

  2. playerPanelそれらをComputerPanelオブジェクトに組み込み ます。(私はまた、 を be に再ケースComputerPanelしますcomputerPanel)。

于 2012-04-02T02:46:33.050 に答える