Java 按钮判断单选按钮是否选中,一共有两个按钮。 按钮一叫做:方式一, 按钮二叫做:方式二,

【求助!!】两个按钮注册同一个监听器【java吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:652,433贴子:
【求助!!】两个按钮注册同一个监听器收藏
只有一个按钮的时候一切正常,但是添加了第二个按钮之后,第一个按钮的事件会被第二个按钮覆盖,两个按钮传递给监听器的参数不一样,若是再添加第三个按钮,则无论第一个和第二个按钮的事件是什么都会被第三个按钮的事件覆盖,这是为什么???
小黑盒—绝地求生 战绩查询
还有就是试过了两个按钮分别注册不同的监听器,但是第二个按钮还是能把第一个按钮的事件覆盖
登录百度帐号推荐应用java教程:JRadioButton(单选按钮)组件使用实例
我的图书馆
java教程:JRadioButton(单选按钮)组件使用实例
JRadioButton(单选按钮)组件
JRadioButton组件实现一个单选按钮,用户可以很方便地查看单选按钮的状态。Jradio Button类可以单独使用,也可以与ButtonGroup类联合使用。当单独使用时,该单选按钮可以被选定和取消选定;当与ButtonGroup类联合使用时,则组成了一个单选按钮组,此时用户只能选定其中的一个单选按钮,取消选定的操作由ButtonGroup类自动完成。
ButtonGroup类用来创建一个按钮组,按钮组的作用是负责维护该组按钮的“开启”状态,在按钮组中只能有一个按钮处于“开启”状态。假设在按钮组中有且仅有A按钮处于开启状态,在“开启”其他按钮时,按钮组将自动关闭A按钮的“开启”状态。按钮组经常用来维护由JRadioButton、JRadioButtonMenuItem或JToggleButton类型的按钮组成的按钮组。ButtonGroup类提供的常用方法如表1所示。
表1& ButtonGroup类提供的常用方法
JRadioButton类提供的常用构造方法如表2所示。
表2& JRadioButton类的常用构造方法
在联合使用JRadioButton类和ButtonGroup类时,并不能将包含JRadioButton对象的ButtonGroup对象添加到相应容器组件中,依然要逐个添加JRadioButton对象到相应容器组件中,例如下面的例子。
下面的代码首先创建一个指定文本(男)和选择状态(被选中,默认为false)的单选按钮,并为该单选按钮添加一个ActionListener侦听器,捕获单选按钮被选中的事件,修改提示标签的信息;然后创建一个指定文本(女)的单选按钮,同样为该单选按钮添加一个ActionListener侦听器完成同样的功能;紧接着创建一个按钮组,并将上面创建的两个单选按钮添加到该单选按钮组中;最后依然要将按钮添加到容器组件中,代码如下:
StudySwingsrccommwqIndex.java关键代码:
manRadioButton = new JRadioButton("男", true);&&&&&&&&&&&& // 创建指定文本和选择状态的单选按钮对象
manRadioButton.addActionListener(new ActionListener() {&&&& // 捕获单选按钮被选中的事件
public void actionPerformed(ActionEvent e) {
answerLabel.setText("您选中的单选按钮是:" + manRadioButton.getText());
womanRadioButton = new JRadioButton("女");&&&&&&&&&&&&& // 创建指定文本的单选按钮对象
womanRadioButton.addActionListener(new ActionListener() {& // 捕获单选按钮被选中的事件
public void actionPerformed(ActionEvent e) {
answerLabel.setText("您选中的单选按钮是:" + womanRadioButton.getText());
ButtonGroup sexRadioButtonGroup = new ButtonGroup();& // 创建一个选按钮组对象
sexRadioButtonGroup.add(manRadioButton);&&&&&&&&&&& // 将单选按钮对象添加到按钮组对象中
sexRadioButtonGroup.add(womanRadioButton);&&&&&&&& // 将单选按钮对象添加到按钮组对象中
frame.add(manRadioButton);&&&&&&&&&&&&&&&&&&&&&&& // 将单选按钮添加到JFrame窗口中
frame.add(womanRadioButton);&&&&&&&&&&&&&&&&&&&& // 将单选按钮添加到JFrame窗口中
运行该例子,在默认情况下将显示图1所示的效果,默认情况下为“男”的单选按钮被选中;选中为“女”的单选按钮后效果如图2所示。
图1& 默认选中的单选按钮
图2& 用户选中的单选按钮
完整代码:
StudySwingsrccommwqIndex.java完整代码:
package com. & & & & & & & & & & & & & & & & &
TA的最新馆藏
喜欢该文的人也喜欢package com.
import java.awt.C
import java.awt.D
import java.awt.GridL
import java.awt.event.ActionE
import java.awt.event.ActionL
import java.net.URL;
import javax.swing.I
import javax.swing.ImageI
import javax.swing.JB
import javax.swing.JF
import javax.swing.JOptionP
import javax.swing.WindowC
* 1:按钮在Swing中是较为常见的组件,用于触发特定动作
* Swing中提供了多种按钮,包括提交按钮,复选框,单选按钮等
* 这些按钮都是从AbstractButton类中继承而来的
* 2:Swing中的提交按钮组件(JButton)由JButton对象表示
* JButton含有4种主要的构造方法
* 参数text,icon分别代表显示文字标签和图标
* 3:本实例使用了两种方式创建按钮,第一种是在初始化按钮时赋予按钮图标与文字
* 这种初始化必须先获得图片路径,然后将路径实例化到Icon,然后在Button中加载出来
* 第二种方式是首先创建一个没有定义图标和文字的按钮对象,然后使用
* setIcon()方法为这个按钮定制一个图标。
* setToolTipText()方法是为按钮设置提示文字,鼠标停留在按钮上面即可
* setBorderPainted()方法设置边界是否显示
* setMaximumSize()方法设置按钮的大小与图标的大小一致,该类方法需要的参数类型是
Dimension类对象,这样看上去此图片就如同按钮一样摆放在窗体中,
同时也可以使用setEnabled()方法设置按钮是否可用
* @author biexiansheng
public class JButtonTest extends JFrame{
public JButtonTest(){//定义一个构造方法
//获取图片所在的URL
以下2行代码需要额外注意
URL url=JButtonTest.class.getResource("imageButtoo.jpg");
Icon icon=new ImageIcon(url);//实例化Icon对象
//设置网格布局管理器
水平5垂直5
setLayout(new GridLayout(3,2,5,5));
//创建容器
Container container=getContentPane();
for(int i=0;i&5;i++){//创建按钮,同时设置按钮文字和图标
JButton jb=new JButton("button"+i,icon);
container.add(jb);//将按钮添加到容器中
if(i%2==0){
jb.setEnabled(false);//设置其中一些按钮不可用
}//上下位两种按钮的实例化
JButton jb2=new JButton();//实例化一个没有文字与图片的按钮
jb2.setMaximumSize(new Dimension(90,30));//设置按钮和图片的大小相同
jb2.setIcon(icon);//为按钮设置图标
jb2.setHideActionText(true);
jb2.setToolTipText("图片按钮");//设置按钮提示为文字
jb2.setBorderPainted(false);//设置按钮边界不显示
jb2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
//弹出对话框
JOptionPane.showMessageDialog(null, "弹出对话框");
container.add(jb2);//将按钮添加到容器中
setTitle("提交按钮组件按钮小试牛刀");//设置窗口标题
setVisible(true);//设置窗口可视化
setSize(500,550);//设置窗口的大小
//设置窗口的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
public static void main(String[] args) {
// TODO Auto-generated method stub
JButtonTest jb=new JButtonTest();
案例运行结果如下
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
package com.
import java.awt.BorderL
import java.awt.C
import java.awt.event.ActionE
import java.awt.event.ActionL
import javax.swing.JCheckB
import javax.swing.JF
import javax.swing.JP
import javax.swing.JScrollP
import javax.swing.JTextA
import javax.swing.WindowC
* 1:复选框组件JCheckBox
* 其在Swing组件中的使用也非常广泛,它具有一个方性图标,外加一段描述性文字
* 复选框区别于单选按钮就是每一个复选框都提供了选中和不选中两种状态
* @author biexiansheng
public class CheckBoxTest extends JFrame{
private JPanel jp1=new JPanel();//初始化面板对象
private JPanel jp2=new JPanel();//
//如果加入滚动面板必须先加入JTextArea并且一定要指定编译器的大小
private JTextArea jt=new JTextArea(20,50);//创建文本域组件
private JCheckBox jc1=new JCheckBox();//实例化复选按钮
private JCheckBox jc2=new JCheckBox();//
private JCheckBox jc3=new JCheckBox();//
public CheckBoxTest(){//定于一个构造方法
Container container=getContentPane();//创建一个容器
//设置布局管理器
container.setLayout(new BorderLayout());//初始化边界布局管理器
container.add(jp1,BorderLayout.NORTH);//添加到容器中
final JScrollPane js=new JScrollPane(jt);//创建JScrollPane面板对象
/*如果需要在JScrollPane面板中放置多个组件,需要将多个组件放置在JPanel面板上
* 然后将JPanel面板作为一个整体组件添加在JScrollPane组件上 * */
jp1.add(js);
container.add(jp2, BorderLayout.SOUTH);
jp2.add(jc1);
jc1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jt.append("复选框1被选中\n");
jp2.add(jc2);
jc2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jt.append("复选框2被选中\n");
jp2.add(jc3);
jc3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
jt.append("复选框3被选中\n");
setTitle("复选框的使用");
setSize(600,650);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
public static void main(String[] args) {
// TODO Auto-generated method stub
CheckBoxTest cb=new CheckBoxTest();
//实例化时调用构造方法
实例运行结果如下
为了区别运行想过,特别添加了颜色运行效果清晰区别
也熟悉一下各个面板颜色的控制
package com.
import java.awt.C
import javax.swing.ButtonG
import javax.swing.JB
import javax.swing.JF
import javax.swing.JL
import javax.swing.JP
import javax.swing.JRadioB
import javax.swing.WindowC
* 1:在默认情况下,单选按钮JRadioButton显示一个圆形图标,并且通常在该图标旁放置
* 一些说明性文字,而在应用程序中,一般将多个单选按钮放置在按钮组中,使这些单选按钮
* 表现出某种功能,当用户选中某个单选按钮后,按钮组中其他按钮将被自动取消。
* 2:单选按钮是Swing组件中JRadioButton类的对象,该类是JToggleButton的子类
* 而JToggleButton类又是AbstractButton类的子类,所以控制单选按钮的诸多方法都是
* AbstractButton类中的方法。
* 3:在Swing中存在一个ButtonGroup类,用于产生按钮组。
* 如果希望将所有的单选按钮放置在按钮组中,需要实例化一个JRadioButton对象
* 并且用该对象调用add()方法添加单选按钮
* @author biexiansheng
public class JRadioButtonTest extends JFrame{
private JRadioButton jr1=new JRadioButton();
private JRadioButton jr2=new JRadioButton();
private JRadioButton jr3=new JRadioButton();//初始化单选按钮
//实例化单选按钮组
private ButtonGroup group=new ButtonGroup();
private JPanel jp=new JPanel();//初始化面板
public JRadioButtonTest(){
Container container=getContentPane();//创建一个容器
group.add(jr1);
group.add(jr2);
group.add(jr3);
jp.add(jr1);
jp.add(jr2);
jp.add(jr3);//将单选按钮添加到面板中
container.add(jp);//将面板添加到容器中
//设置容器的特性
setTitle("单选按钮的简单练习");//容器的标题
setVisible(true);//可视化
setSize(200,150);//容器的大小
//设置容器的关闭方式
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
public static void main(String[] args) {
// TODO Auto-generated method stub
JRadioButtonTest jb=new JRadioButtonTest();
简单实例运行结果如下
此简例只是简单的描写了如何实现单选按钮,并没有产生反应,仅是案例演示
package com.
import java.awt.C
import java.awt.C
import java.awt.GridL
import javax.swing.ButtonG
import javax.swing.JB
import javax.swing.JCheckB
import javax.swing.JF
import javax.swing.JL
import javax.swing.JP
import javax.swing.JRadioB
import javax.swing.WindowC
public class Test extends JFrame{
private JRadioButton jr1;
private JRadioButton jr2;
private ButtonGroup bg1;
private JCheckBox cb1;
private JCheckBox cb2;
private JCheckBox cb3;
private JLabel jl1;
private JLabel jl2;
private JPanel jp1;
private JPanel jp2;
private JPanel jp3;
private JButton jb1;
private JButton jb2;
public Test(){
Container container=getContentPane();//创建一个容器
cb1=new JCheckBox("篮球");
cb2=new JCheckBox("足球");
cb3=new JCheckBox("排球");
jl1=new JLabel("你喜欢的运动");
jl2=new JLabel("你的性别");
jb1=new JButton("提交");
jb2=new JButton("重置");
jr1=new JRadioButton("男");
jr2=new JRadioButton("女");
bg1=new ButtonGroup();
setLayout(new GridLayout(3, 1));//设置网格布局管理器3行1列
jp1=new JPanel();
jp1.add(jl1);
jp1.add(cb1);//将单选按钮添加到面板上面
jp1.add(cb2);
jp1.add(cb3);
container.add(jp1);
jp2=new JPanel();
jp2.add(jl2);
bg1.add(jr1);//将单选按钮添加到ButtonGroup中
bg1.add(jr2);
jp2.add(jr1);
jp2.add(jr2);
container.add(jp2);
jp3=new JPanel();
jp3.add(jb1);
jp3.add(jb2);
container.add(jp3);
setTitle("按钮的运用");
setSize(400,300);
setVisible(true);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
public static void main(String[] args) {
// TODO Auto-generated method stub
new Test();
案例运行结果如下
阅读(...) 评论()单选按钮 | 捷训网

我要回帖

更多关于 判断单选按钮是否选中 的文章

 

随机推荐