-1

我正在制作一个游戏,我有两个标签,玩家 1 和玩家 2。在游戏开始之前,我希望弹出一个对话框,用户可以在其中插入玩家 1 和玩家 2 的名称。下面是我的代码。它应该将标签更改为插入的名称。

public void gui();
{

    BorderLayout borderlayout = new BorderLayout();

    JFrame frame = new JFrame("Games");
    frame.setVisible(true);
    frame.setSize(600,400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    Panel p2 = new Panel();
    p2.setLayout(new BorderLayout());
    p2.add(new Label("Player 1"), BorderLayout.WEST); //player 1 label
    p2.add(new Label("Player 2"), BorderLayout.EAST); //player 2 label
    p2.add(new Label("Board GAME"), BorderLayout.NORTH );
    p2.setBackground(new Color(156, 93, 82));
    p2.setFont(new Font("sansserif", Font.BOLD, 18));
    frame.add(p2);
}
4

2 回答 2

2

您可以使用 cass 轻松实现JOptionPane

String p1name = JOptionPane.showInputDialog(frame,"Please enter player 1 name","Specify name",JOptionPane.PLAIN_MESSAGE,);
于 2012-04-12T18:33:07.607 回答
1

您需要先分配您JLabels的变量:

JLabel player1Lbl = new JLabel("Player 1");
p2.add(player1Lbl, BorderLayout.WEST);

然后使用 JOptionPane 从播放器获取文本

String player1Name = JOptionPane.showInputDialog("Player 1 enter your name");

然后设置标签

player1Lbl.setText(player1Name);

此方法不检查用户是否输入了任何内容,因此字符串可能为空白或 null,但您可以弄清楚如何检查...

于 2012-04-12T19:12:44.810 回答