2012-04-12 2 views
-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); 
} 
+1

HTTP : //docs.oracle.com/javase/tutorial/uiswing/components/dialog.html –

ответ

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); 

Этот метод не проверяет, если пользователь введет что-нибудь, так что строка может быть пустым или нулевым, вы можете работать, как проверить, что хотя ...

+0

Отлично работает :). благодаря –

2

Вы можете легко к нему с Касс JOptionPane:

String p1name = JOptionPane.showInputDialog(frame,"Please enter player 1 name","Specify name",JOptionPane.PLAIN_MESSAGE,); 
Смежные вопросы