如何检查2 Jradiobutton是否被选中?

时间:2014-05-09 13:54:37

标签: java oop jradiobutton

如何选中2 jRadio按钮被选中,然后在新框架中显示一个显示新操作的新框架,我的代码中的问题是即使选择了非单选按钮也显示问题1 the program should check id addition and easy are selected and when click start test should show new frame

这是我的主要代码

     package javaapplication78;
import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class javaapplication78{
JFrame f1;
JPanel panel1,panel2,panel3,panel4;
JButton b1,b2;
JLabel label_1,label_2;
JRadioButton radio_1,radio_2,radio_3,radio_4,radio_5,radio_6,radio_7;

javaapplication78(){

JFrame f1 = new JFrame ("MathTest - Main Menu");
f1.setVisible(true);
f1.setSize(300,400);
f1.setLayout(new GridLayout(0,1));
f1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

panel1 = new JPanel(new GridLayout(0, 2));
panel1.setBorder(BorderFactory.createLineBorder(Color.black, 1));
panel1.add(new JLabel("Select a test type"));
panel1.add(radio_1=new JRadioButton("Addition"));
panel1.add(new JLabel(""));
panel1.add(radio_2=new JRadioButton("Substraction"));
panel1.add(new JLabel(""));
panel1.add(radio_3=new JRadioButton("Multiplication"));
panel1.add(new JLabel(""));
panel1.add(radio_4=new JRadioButton("Division"));

panel2 = new JPanel(new GridLayout(0, 2));
panel2.setBorder(BorderFactory.createLineBorder(Color.black, 1));
panel2.add(new JLabel("select a diffculty level"));
panel2.add(radio_5=new JRadioButton("easy "));
panel2.add(new JLabel(""));
panel2.add(radio_6=new JRadioButton("moderate"));
panel2.add(new JLabel(""));
panel2.add(radio_7=new JRadioButton("hard"));

panel3 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
panel3.add(new JLabel(""));

JButton b1 = new JButton("Start test");      
panel3.add(b1);
b1.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent e) {

new javaapplication79();

    }
});


  panel4 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
  panel4.add(b2=new JButton("    exit    "));

  f1.add(panel1);
  f1.add(panel2);
  f1.add(panel3);
  f1.add(panel4);

  f1.add(label_1); 
  f1.add(radio_1);
  f1.add(radio_2);
  f1.add(radio_3); 
  f1.add(radio_4); 

  f1.add(label_2);
  f1.add(radio_5);
  f1.add(radio_6); 
  f1.add(radio_7);
  b1 = new JButton();
  b2 = new JButton();
  f1.add(b1); 
  f1.add(b2);   
    }

  public static void main(String[] args)
  {
    javaapplication78 xyz =new javaapplication78();

  }
}

这是框架代码     包javaapplication78;

import javax.swing.*;
import java.awt.*;

public class javaapplication79{
JFrame f1;
JPanel panel1,panel4;
JLabel label_1;
JTextField t1;

 javaapplication79(){
f1 = new JFrame ("MathTest - Test Page");
f1.setVisible(true);
f1.setSize(400,150);
f1.setLayout(new GridLayout(0,1));

panel1 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
panel1.add(new JLabel("Question 1     14  -  5  = "));
panel1.add(new JTextField(10));
panel1.add(new JButton("Submit Answer"));



panel4 = new JPanel(new FlowLayout(FlowLayout.RIGHT));
panel4.add(new JButton("   Cancel Test   "));
f1.add(panel1);
f1.add(panel4);
f1.add(label_1); 

}

}

1 个答案:

答案 0 :(得分:1)

提出一些像

这样的预先编码

radio_1.isSelected();在选中时返回true。

radio_1.getText()如果已经选中,请检查所选的值,如下所示(值=' Y'或' N')