2014-12-23 1 views
0

Я делаю файтинг, и игрок выберет свой класс. Как я могу сказать, что если (игрок выбирает Воина), то (бла) с моим кодом?Если утверждения и вертикальные кнопки

import java.awt.GridLayout; 
import javax.swing.*; 

public class ButtonTest { 
static JDialog dialog; 
public static void main(String[] args) { 
    JDialog dialog = null; 
    JOptionPane optionPane = new JOptionPane(); 
    optionPane.setMessage("Choose Your Class!"); 
    optionPane.setMessageType(JOptionPane.INFORMATION_MESSAGE); 

    JPanel panel = new JPanel(); 
    panel.setLayout(new GridLayout(3,1)); 
    String[] buttonTxt = {"Warrior","Battlemage","Tank","Archer","Kitty"}; 
    JButton[] buttons = new JButton[buttonTxt.length]; 
    for (int i = 0; i < buttonTxt.length; i++) 
    { 
     buttons[i] = new JButton(buttonTxt[i]); 
     panel.add(buttons[i]); 
    } 
    optionPane.setOptionType(JOptionPane.DEFAULT_OPTION); 
    optionPane.add(panel); 
    dialog = optionPane.createDialog(null, "Icon/Text Button"); 
    dialog.setVisible(true); 

} 

} 
+0

Что на самом деле ваша проблема? – Tony

ответ

0

Вы можете использовать событие, связанное с действием, для всех кнопок.

for (int i = 0; i < buttonTxt.length; i++){ 
     buttons[i] = new JButton(buttonTxt[i]); 
     buttons[i].addActionListener(new ActionListener(){ 
      public void actionPerformed(ActionEvent e){ 
       onClickButton(buttonTxt[i]); 
      } 
     }); 
     panel.add(buttons[i]); 
    } 

Сделать buttonTxt окончательный переменной. Тогда вы можете написать заявление, если внутри onClickButton()

private void onClickButton(String buttonText){ 
    if(buttonText.equals("Warrior")){ 
     //do your stuff 
    } 
}