少し助けが必要です。失業した後、プログラミングに戻ったばかりです。
Java を学習しようとしていますが、問題が発生しました。
問題は、ボタンを押してユーザーに入力を求めるメソッドを呼び出したいことです。これにより、メソッドを呼び出したクラスに選択が返されます。
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 と表示され、次にドイツ車または日本車のどちらが選択されたかが示されますが、間違った車が選択されています。