私はJRadioButtons
を学習しています。なぜそれがチュートリアルで働いているのか分かりません。誰かがそれを見てみることができますか?私はこのコードが(JRadioButtonsの新機能では)動作しない理由を理解していません
メインクラス:
import java.awt.*;
import javax.swing.*;
public class Calculator extends JPanel{
private static final long serialVersionUID = 1L;
public static void main(String[] args){
Screen screen = new Screen();
screen.setVisible(true);
}
}
ここでは、画面のクラスである:私の新しいJavaヘッドで
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
public class Screen extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
JRadioButton b1, b2;
ButtonGroup group;
JTextArea tb;
public Screen(){
super("First GUI");
setSize(600,600);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel p1 = new JPanel();
JTextArea tb = new JTextArea("Text Area");
group = new ButtonGroup();
group.add(b1);
group.add(b2);
b1 = new JRadioButton("Hello");
b1.setActionCommand("HELLO!");
b1.addActionListener(this);
b2 = new JRadioButton("Goodbye");
b2.setActionCommand("Goodbye! =)");
b2.addActionListener(this);
p1.add(b1);
p1.add(b2);
p1.add(tb);
add(p1);
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
tb.setText(e.getActionCommand());
}
}
これは完璧に動作するはずです。私はボタンを初期化し、グループを初期化します。ボタンの1つをクリックするとエラーが発生します:AWT-EventQueue-0
私はそれが何を意味するのか分からないので、私はこの問題を解決する方法を知らない。
ラジオボタンをグループに追加する前に、ラジオボタンをインスタンス化してみてください。 – Zymus
これは問題ではありませんが、これを指摘してくれてありがとう! –
あなたの質問のタイトルを改善してください。あなたの*苦境ではなくあなたの*問題*を要約するために有益であるはずです。あなたのコードは、最初に適切ではないと仮定してください。 –