我需要一些帮助。 我只是在失业后回到编程之后。在调用另一个方法之前,不等待方法调用完成
我正试图学习Java,并遇到困难。
问题是我想调用一个方法,应该通过按下一个按钮来询问用户输入。这会将chouce返回到调用该方法的类。
public class ButtonMain {
private static CreateButton cButton;
public static void main(String[] args) {
cButton = new CreateButton();
cButton.launchButton();
switch(cButton.getSelect()) {
case 'a' : System.out.println("German Car");
break;
case 'b' : System.out.println("Japanese Car");
break;
default : System.out.println("Incorrect Car Selected");
break;
}
}
}
代码的其余部分如下
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CreateButton implements ActionListener {
private JFrame mainFrame;
private JLabel label1;
private JButton button1;
private JButton button2;
private char select = ' ';
public CreateButton() {
}
public void launchButton() {
createFrame();
createLabel();
createButton1();
createButton2();
}
private void createFrame() {
mainFrame = new JFrame("Cars");
mainFrame.setSize(200, 200);
mainFrame.setLocation(300, 300);
mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainFrame.setVisible(true);
mainFrame.setPreferredSize(null);
mainFrame.setLayout(new java.awt.GridLayout(3, 1));
}
private void createLabel() {
label1 = new JLabel("Cars", SwingConstants.CENTER);
label1.setSize(200, 100);
mainFrame.getContentPane().add(label1, BorderLayout.CENTER);
}
public void createButton1() {
button1 = new JButton("Mercedes");
button1.setSize(200, 50);
button1.addActionListener(this);
mainFrame.getContentPane().add(button1, BorderLayout.CENTER);
}
private void createButton2() {
button2 = new JButton("Lexus");
button2.setSize(200, 50);
button2.addActionListener(this);
mainFrame.getContentPane().add(button2, BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == button1) {
select = 'a';
System.out.println(select);
}
else if (e.getSource() == button2) {
select = 'b';
System.out.println(select);
}
}
public char getSelect() {
return select;
}
}
正在发生的事情是,输出应为a或b,然后是否选择德语或日语的汽车,但我越来越不正确的选车。
尝试记住,Swing是一个事件驱动环境。这是发生的事情,你回应它。这是一个可以一点点让使用的概念;) – MadProgrammer 2012-08-13 23:02:36