2014-05-09 26 views
-2

我怎麼檢查是2 jRadio按鈕被選中,然後在新框架中顯示一個新的框架顯示新的操作,我的代碼中的問題是顯示問題1即使非單選按鈕被選中 the program should check id addition and easy are selected and when click start test should show new frame如何檢查是否選擇了2個Jradiobutton?

這是我的主代碼

 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); 

} 

} 
+0

單選按鈕被設計成僅選擇一個選定的值。使用多個部分的複選框。 – Braj

+0

最初爲每個無線電組設置了默認值,然後沒有選擇任何單選按鈕的情況下 – Braj

回答

1

選擇時放一些precoditions像

radio_1.isSelected();返回true。

radio_1.getText()如果已經選擇了它,檢查這樣的(值=「Y」或「N」)

+0

爲什麼我必須使用radio_1.getText()我沒有任何價值? – user3615990

+0

@ user3615990以防萬一您需要單選按鈕名稱的值。這是一個帶有JRadioButton對象的OOP設計。我認爲Sireesh釘了它!我會添加一個按鈕或動作偵聽器。 –

相關問題