私は新しいスタック ユーザーであり、Java をまったく初めて使用するので、これが不明確であったり、間違った用語が使用されていたりする場合は、事前にお詫びします。
JRadioButton が選択されていない場合は、ベース値を割り当てようとしています。
JRadioButton を true に設定できます。これは自動選択されますが、イベントがなかったためリスナーには表示されませんか?
Else ステートメントを設定できますが、リスナー イベントを待機しているため、何も起こりませんか?
次のコードは、最初に double に値を設定するとうまくいくようです。
私の質問は、変数 $leadtime に割り当てられた正しい値を取得しても、システム出力がその値を 4 回返すことです。誰かがこのイベントを説明してもらえますか?
または、これを行うためのより良い方法があれば、喜んで学びますか、それとも 2 つの箇条書きの試みで何かを見落としているのでしょうか?
ありがとう、週末戦士84
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JRadioButton;
public class CRADIOHAND implements ActionListener{
JRadioButton $test1;
JRadioButton $test2;
JRadioButton $test3;
JRadioButton $test4;
double $leadtime = 22;
CRADIOHAND(JRadioButton $buttonJR1,JRadioButton $buttonJR2,JRadioButton $buttonJR3,JRadioButton $buttonJR4){
$test1 = $buttonJR1;
$test2 = $buttonJR2;
$test3 = $buttonJR3;
$test4 = $buttonJR4;
System.out.println($leadtime);
}
public void actionPerformed(ActionEvent re1) {
if($test1.isSelected()){
$leadtime= 22;
}else if($test2.isSelected()){
$leadtime= 47;
}else if($test3.isSelected()){
$leadtime= 113;
}else if($test4.isSelected()){
$leadtime= 130;
}
System.out.println($leadtime);
}
}
短縮レイアウト。
import java.awt.FlowLayout;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JRadioButton;
public class CLAYOUT extends JFrame {
private FlowLayout $lay;
public CLAYOUT(){
super("Sample Program");
$lay = new FlowLayout();
setLayout($lay);
JRadioButton $buttonJR1 = new JRadioButton("22 Days");
add($buttonJR1);
JRadioButton $buttonJR2 = new JRadioButton("47 Days");
add($buttonJR2);
JRadioButton $buttonJR3 = new JRadioButton("113 Days");
add($buttonJR3);
JRadioButton $buttonJR4 = new JRadioButton("130 Days");
add($buttonJR4);
ButtonGroup radiogroup = new ButtonGroup();
radiogroup.add($buttonJR1);
radiogroup.add($buttonJR2);
radiogroup.add($buttonJR3);
radiogroup.add($buttonJR4);
$buttonJR1.addActionListener(new CRADIOHAND($buttonJR1, $buttonJR2, $buttonJR3, $buttonJR4));
$buttonJR2.addActionListener(new CRADIOHAND($buttonJR1, $buttonJR2, $buttonJR3, $buttonJR4));
$buttonJR3.addActionListener(new CRADIOHAND($buttonJR1, $buttonJR2, $buttonJR3, $buttonJR4));
$buttonJR4.addActionListener(new CRADIOHAND($buttonJR1, $buttonJR2, $buttonJR3, $buttonJR4));
}
}
短縮メイン
import javax.swing.JFrame;
public class CREORDER{
public static void main (String[] args){
CLAYOUT $clay = new CLAYOUT();
$clay.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
$clay.setSize(1200,500);
$clay.setVisible(true);
}
}