1

こんにちは、私はこれに少し問題があります。JPanel を作成し、それにコンポーネントを追加してから、JPanel をコンテナーに追加しました。メインからこのクラスを呼び出すと、ウィンドウがポップアップしますが、JPanel の最初のコンポーネントしか表示されません。すべてではなく、最初の項目のみが表示されるのはなぜですか? ありがとう。

注: このコードは完全ではありません。他の作業に進む前に、コンポーネントが表示されない理由を理解しようとしているだけです。コンポーネントの問題に対処してください。

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.*;
import javax.swing.*;


public class Player extends JFrame implements ActionListener
{
       private CardLayout playerCard;
       private JPanel cardPanel;
       public String player1;
       public String player2;

      // Constructor:
      public Player()
      {

        setTitle("Game");
        setSize(300,200);
        setLocation(10,200); 
        Container contentPane = getContentPane();
        contentPane.setLayout(new FlowLayout());

                //set up the panel
        cardPanel = new JPanel();
        playerCard = new CardLayout();
        cardPanel.setLayout(playerCard);

                //get player one name
        JLabel p1Name = new JLabel("Player 1 Name:");
        JTextField oneName = new JTextField();

                //get the name for player 2
        JLabel p2Name = new JLabel("Player 2 Name:");
        JTextField twoName = new JTextField();

                //the button to start the game
        JButton start = new JButton("Start");

        //add the components << Why is only the first component shown??
        cardPanel.add(start);
        cardPanel.add(p1Name);
        cardPanel.add(oneName);
        cardPanel.add(p2Name);
        cardPanel.add(twoName);

        contentPane.add("startCard",cardPanel);
        }

    @Override
    public void actionPerformed(ActionEvent arg0) 
    {
        // TODO Auto-generated method stub

    } 
}
4

1 に答える 1