このプログラムには 2 つのラジオ ボタンがあります。1: 円、2: 正方形を出力します。
このプログラムは基本的に、ラジオ ボタン グループに基づいて円または正方形を出力するように設計されています。
私の問題は、形状を出力するためにボタンにアクションリスナーを実装する方法がわからないことです。メソッド fm を呼び出したときに、ラジオ ボタンの初期化中にエラーが発生しました。どうやらメインメソッドが必要だと思います。
これは Java AWT であることに注意してください。
詳細を追加したり、明確にしたい場合は、コメントしてください。
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.applet.Applet;
public class RadioButton extends Applet
implements ActionListener
{
int choice;
Frame fm = new Frame ("RadioButton Group");
Label la = new Label ("What shape do you want to draw?:");
fm.setLayout (new GridLayout (0, 1));
CheckboxGroup cg1 = new CheckboxGroup ();
fm.add (la);
fm.add (new Checkbox ("CIRCLE", cg1, true));
fm.add (new Checkbox ("SQUARE", cg1, true));
fm.setSize (250, 200);
fm.setVisible (true);
fm.addWindowListener (new WindowAdapter ()
{
public void paint (Graphics g) // How can you 'update the drawing' or repaint it?
{
switch (choice) // Maybe for colors if all else fails you can add a switch 'within' a switch. Inefficient-yes but helps.
{
case 1:
if (choice == 1)
g.fillOval (30, 40, 20, 20);
case 2:
if (choice == 2)
g.fillRect (20, 40, 20, 20);
break;
}
}
public void actionPerformed (ActionEvent evt)
{
if (evt.getSource () == "CIRCLE")
choice = 1;
else
choice = 2;
}
public void windowClosing (WindowEvent we)
{
System.exit (0);
}
}
);
}
}