JAVAGUI--单选框、多选框和下拉框

实现了单选、多选和下拉框的实现,

以及监听当按下提交时,选择了哪些选项,

以及提交后,选项的状态重置

单选框

效果如下:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.BoxLayout;
import javax.swing.BorderFactory;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;

public class DanXuan extends JFrame
{
	JPanel panelDanXuan;
	JLabel labTiMu;
	JButton btSubmit;
	//创建一个按钮组
	ButtonGroup option;
	JRadioButton optionA;
	JRadioButton optionB;
	JRadioButton optionC;
	JRadioButton optionD;
	public void init()
	{
		
		panelDanXuan = new JPanel();
		labTiMu = new JLabel("题目1");
		btSubmit = new JButton("提交");
		option = new ButtonGroup();
		optionA = new JRadioButton("A.");
		optionB = new JRadioButton("B.");
		optionC = new JRadioButton("C.");
		optionD = new JRadioButton("D.");
		
		//把按钮加到同一个按钮组
		option.add(optionA);
		option.add(optionB);
		option.add(optionC);
		option.add(optionD);
		
		//将按钮按列排列
		panelDanXuan.setLayout(new BoxLayout(panelDanXuan,BoxLayout.Y_AXIS));
		
		panelDanXuan.add(optionA);
		panelDanXuan.add(optionB);
		panelDanXuan.add(optionC);
		panelDanXuan.add(optionD);
		panelDanXuan.add(btSubmit);
		//设置边框
		panelDanXuan.setBorder(BorderFactory.createTitledBorder("单选"));
		
		this.add(labTiMu,BorderLayout.NORTH);
		this.add(panelDanXuan);
		this.setTitle("单选");
		this.setSize(500,300);
		this.setLocation(100, 100);
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		this.repaint();
		
		//监听确认按钮
		btSubmit.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				if(optionA.isSelected() == true)
				{
					
				}
				else if(optionB.isSelected() == true)
				{
					
				}
				else if(optionC.isSelected() == true)
				{
					
				}
				else if(optionD.isSelected() == true)
				{
					
				}
				else			//没有选按钮便提交
				{
					
				}
				//点击确认按钮后,改变题目的值
				labTiMu.setText("题目2");
				//重置按钮的值
				option.clearSelection();
			}
		});
	}
	public static void main(String[] args)
	{
		DanXuan test = new DanXuan();
		test.init();
	}
}

复选框

效果如下:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.BoxLayout;
import javax.swing.BorderFactory;
import javax.swing.JTextField;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.JCheckBox;

public class DuoXuan extends JFrame
{
	JPanel panelDuoXuan;
	JLabel labTiMu;
	JButton btSubmit;
	//创建一个按钮组
	JCheckBox optionA;
	JCheckBox optionB;
	JCheckBox optionC;
	JCheckBox optionD;
	public void init()
	{
		panelDuoXuan = new JPanel();
		labTiMu = new JLabel("题目1");
		btSubmit = new JButton("提交");
		optionA = new JCheckBox("A.");
		optionB = new JCheckBox("B.");
		optionC = new JCheckBox("C.");
		optionD = new JCheckBox("D.");
		
		//将按钮按列排列
		panelDuoXuan.setLayout(new BoxLayout(panelDuoXuan,BoxLayout.Y_AXIS));
		
		JButton c=new JButton(" ");
	    c.setContentAreaFilled(false);		//按键透明
	  	c.setBorderPainted(false);			//边框透明
		c.setEnabled(false);
		
		panelDuoXuan.add(optionA);
		panelDuoXuan.add(optionB);
		panelDuoXuan.add(optionC);
		panelDuoXuan.add(optionD);
		panelDuoXuan.add(btSubmit);
		//设置边框
		panelDuoXuan.setBorder(BorderFactory.createTitledBorder("多选"));
		
		this.add(labTiMu,BorderLayout.NORTH);
		this.add(panelDuoXuan);
		
		this.setTitle("多选");
		this.setSize(500,300);
		this.setLocation(100, 100);
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		this.repaint();
		
		//监听确认按钮
		btSubmit.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				if(optionA.isSelected() == true)
				{
				}
				if(optionB.isSelected() == true)
				{
				}
				if(optionC.isSelected() == true)
				{
					
				}
				if(optionD.isSelected() == true)
				{
					
				}
				//没有选按钮便提交
				if(optionA.isSelected() == false && optionB.isSelected() == false 
				&& optionC.isSelected() == false && optionD.isSelected() == false)
				{
					
				}
				//点击确认按钮后,改变题目的值
				labTiMu.setText("题目2");
				//重置按钮的值
				optionA.setSelected(false);
				optionB.setSelected(false);
				optionC.setSelected(false);
				optionD.setSelected(false);
			}
		});
	}
	public static void main(String[] args)
	{
		DuoXuan test = new DuoXuan();
		test.init();
	}
}

下拉框

效果如下:

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.BoxLayout;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;

public class XiaLaKuang extends JFrame
{
	JPanel panelXiaLaKuang;
	JLabel labTiMu;
	JComboBox xiaLa;
	JButton btSubmit;
	
	public void init()
	{
		panelXiaLaKuang = new JPanel();
		labTiMu = new JLabel("题目1");
		btSubmit = new JButton("提交");
		
		xiaLa = new JComboBox();
		xiaLa.addItem("A.");
		xiaLa.addItem("B.");
		xiaLa.addItem("C.");
		xiaLa.addItem("D.");
		
		panelXiaLaKuang.add(xiaLa);
		panelXiaLaKuang.add(btSubmit);
		//设置边框
		panelXiaLaKuang.setBorder(BorderFactory.createTitledBorder("下拉框"));
		
		this.add(labTiMu);
		this.add(panelXiaLaKuang);
		
		this.setLayout(new GridLayout(2,1));
		this.setTitle("下拉框");
		this.setSize(500,300);
		this.setLocation(100, 100);
		this.setResizable(false);
		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		this.setVisible(true);
		this.repaint();
		
		//监听确认按钮
		btSubmit.addActionListener(new ActionListener()
		{
			public void actionPerformed(ActionEvent e)
			{
				if(xiaLa.getSelectedIndex() == 0)
				{
					System.out.println("A");
				}
				else if(xiaLa.getSelectedIndex() == 1)
				{
					System.out.println("B");
				}
				else if(xiaLa.getSelectedIndex() == 2)
				{
					
				}
				else if(xiaLa.getSelectedIndex() == 3)
				{
					
				}
				//点击确认按钮后,改变题目的值
				labTiMu.setText("题目2");
				//重置按钮的值
				xiaLa.setSelectedIndex(0);
			}
		});
	}
	public static void main(String[] args)
	{
		XiaLaKuang test = new XiaLaKuang();
		test.init();
	}
}

 

  • 12
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值