import javax.swing.*;
創(chuàng)新互聯(lián)自2013年起,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元金林做網(wǎng)站,已為上家服務(wù),為金林各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.applet.*;
import java.sql.*;
public class Test extends JFrame implements ActionListener{
private static final long serialVersionUID = 1L;
private JPanel jPanel;
private JButton jButton1,jButton2,jButton3;
private JTextArea ta1;
private JTextField tf1;
private Checkbox cb1,cb2;
private CheckboxGroup g;
public Test(String title) {
super(title);
init();
}
private void init() {
jPanel=new JPanel();
jPanel.setLayout(new FlowLayout());
ta1=new JTextArea();
tf1=new JTextField(20);
jButton1=new JButton("查詢記錄");
jButton2=new JButton("添加用戶");
jButton3=new JButton("添加記錄");
jButton1.addActionListener(this);
jButton2.addActionListener(this);
jButton3.addActionListener(this);
g = new CheckboxGroup();
cb1 = new Checkbox("1", g, false);
cb2 = new Checkbox("2", g, true);
jPanel.add(ta1);
jPanel.add(jButton1);
jPanel.add(jButton2);
jPanel.add(jButton3);
jPanel.add(tf1);
jPanel.add(cb1);
jPanel.add(cb2);
this.add(jPanel);
this.setSize(300,700);
this.setResizable(false);
this.setVisible(true);
this.addWindowListener(new WindowAdapter() {
public void windowClosing(final WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) {
if(e.getSource().equals(jButton1)){
if(cb1.isSelected()){
System.out.println("1");
}
else{
System.out.println("2");
}
}
}
}
給你做了小小的修改,你再試試
沒用的,你得創(chuàng)建一個(gè)ButtonGroup對象,然后把單選按鈕對象加進(jìn)去之后這樣就只能選中一個(gè)了!比如:
JRadioButton b1=new JRadioButton("b1");
JRadioButton b2=new JRadioButton("b2");
JRadioButton b3=new JRadioButton("b3");
ButtonGroup bgroup = new ButtonGroup();
bgroup.add(b1);
bgroup.add(b2);
bgroup.add(b3);
以上代碼只能選中一個(gè)按鈕!
(1)定義一個(gè)“題目”類,屬性:題號,用戶答案,標(biāo)準(zhǔn)答案,題目
(2)定義一個(gè) “題目”集合,用于保存這4道題
(3)界面中定義題目+4個(gè)選項(xiàng),一個(gè) init(int num)方法,num是題號,默認(rèn)是1(當(dāng)打開界面時(shí)顯示第一題),init的內(nèi)容是顯示“題號+題目+4個(gè)選項(xiàng)+判斷”
單選按鈕上“判斷”:根據(jù)num查找題目對象obj,
if(選項(xiàng)value=obj.用戶答案) { selected="selected" } selected="selected" 是單選按鈕的屬性,表示選中(因?yàn)橐婚_始用戶答案是null,所以剛看到新題目時(shí)沒有選種任何選項(xiàng))
(4)當(dāng)選種選項(xiàng)后點(diǎn)下一題,執(zhí)行update方法:
根據(jù)題號,對“題目集合”中 的一個(gè)題目對象的“用戶答案”進(jìn)行賦值,把num(題號)加1,然后執(zhí)行init方法,讓界面顯示下一道題,因?yàn)槭切骂}(該題的用戶答案為null),任何選項(xiàng)都不會(huì)選種。
(5)做完題目,點(diǎn)上一題,num-1,執(zhí)行init,init會(huì)根據(jù)num查找“題目集合”中的題目對象,判斷“用戶答案”是3,當(dāng)4個(gè)選項(xiàng)逐一判斷后,就只有C(value=3)被選中,也就是顯示用戶剛剛選中的那個(gè)答案。
以上,僅供參考。只是提供思路,不幫實(shí)現(xiàn)代碼,望理解。
打開界面是,
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class aaa
{
/**
* @param args
*/
public static void main(String[] args)
{
TextFrame frame = new TextFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class TextFrame extends JFrame
{
public TextFrame()
{
setTitle("考試題目");
setBounds(300,300,200,120);
TextPanel panel = new TextPanel();
add(panel);
}
}
class TextPanel extends JPanel
{
private JRadioButton r1,r2;
public TextPanel()
{
//實(shí)例化單選按鈕
r1 = new JRadioButton("男");
r2 = new JRadioButton("女");
JPanel p = new JPanel();
p.setBorder(BorderFactory.createTitledBorder("請選擇性別"));
p.add(r1);
p.add(r2);
ButtonGroup bg = new ButtonGroup();
//將需要?jiǎng)澐譃橐唤M的單選按鈕對象添加到按鈕組(注意只是邏輯上添加 和界面沒有關(guān)系)
bg.add(r1);
bg.add(r2);
add(p);
}
}
可以參考下面的添加兩個(gè)單選項(xiàng)的
最后記得將兩個(gè)單選項(xiàng)放到一個(gè)buttonGroup即可
//添加兩個(gè)單選項(xiàng)
choice1.setBounds(10,60,300,20); //放在左上
choice2.setBounds(10,180,300,20); //放在左中
choice1.setForeground(Color.ORANGE);
choice2.setForeground(Color.ORANGE);
choice1.setFont(new Font("楷書",Font.BOLD+Font.HANGING_BASELINE,20));
choice2.setFont(new Font("楷書",Font.BOLD+Font.HANGING_BASELINE,20));
choice1.setOpaque(false);
choice2.setOpaque(false);
buttonGroup.add(choice1); //為上面兩個(gè)choice創(chuàng)建一個(gè)多斥作用域
buttonGroup.add(choice2);
使用圖形用戶界面
class Gui extends JFrame implements ActionListener {
private JButton jb = new JButton() ;
Gui() {
super("Gui") ;
this.add(jb) ;//添加按鈕
jb.addActionListener(this) ;//按鈕事件監(jiān)聽
//當(dāng)然你可以按自己的想法做布局
this.pack();
this.setVisible(true);//可見
this.setResizable(false);//不可修改大小
this.setLocation(100, 100);//起始位置
}
//覆寫ActionListener接口中的事件處理方法
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == jb) {
//事件處理
}
}
}