Java Swing JToggleButton开关按钮的实现
1.概述
官方JavaDocsApi:javax.swing.JToggleButton
JToggleButton,开关按钮。JToggleButton是JRadioButton,JCheckBox的父类,主要实现一个按钮的两种状态(选中和未选中)来实现开关切换的效果。
JToggleButton常用构造方法:
//无文本,默认未选中 JToggleButton() //有文本,默认未选中 JToggleButton(Stringtext) //有文本,并指定是否选中 JToggleButton(Stringtext,booleanselected)
JToggleButton常用方法:
//设置开关按钮的文本、字体和字体颜色 voidsetText(Stringtext) voidsetFont(Fontfont) voidsetForeground(Colorfg) /*以下方法定义在javax.swing.AbstractButton基类中*/ //设置开关按钮是否选中状态 voidsetSelected(booleanb) //判断开关按钮是否选中 booleanisSelected() //设置开关按钮是否可用 voidsetEnabled(booleanenable) //设置开关按钮在默认(关)、被选中(开)、不可用时显示的图片 voidsetIcon(IcondefaultIcon) voidsetPressedIcon(IconpressedIcon) voidsetDisabledIcon(IcondisabledIcon) //设置图片和文本之间的间距 voidsetIconTextGap(inticonTextGap)
JToggleButton常用监听器:
//添加状态改变监听器 voidaddChangeListener(ChangeListenerl)
2.代码实例:默认的开关按钮
packagecom.xiets.swing; importjavax.swing.*; importjavax.swing.event.ChangeEvent; importjavax.swing.event.ChangeListener; publicclassMain{ publicstaticvoidmain(String[]args){ JFramejf=newJFrame("测试窗口"); jf.setSize(250,250); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JPanelpanel=newJPanel(); //创建开关按钮 JToggleButtontoggleBtn=newJToggleButton("开关按钮"); //添加toggleBtn的状态被改变的监听 toggleBtn.addChangeListener(newChangeListener(){ @Override publicvoidstateChanged(ChangeEvente){ //获取事件源(即开关按钮本身) JToggleButtontoggleBtn=(JToggleButton)e.getSource(); System.out.println(toggleBtn.getText()+"是否选中:"+toggleBtn.isSelected()); } }); panel.add(toggleBtn); jf.setContentPane(panel); jf.setVisible(true); } }
结果展示:
运行代码,点击开关按钮,查看控制台输出。
3.代码实例:自定义图片开关
使用下面两个图片分别代表开关按钮的选中(开)和未选中(关)状态,分别命名为:toggle_on.png,toggle_off.png:
packagecom.xiets.swing; importjavax.swing.*; importjavax.swing.event.ChangeEvent; importjavax.swing.event.ChangeListener; publicclassMain{ publicstaticvoidmain(String[]args){ JFramejf=newJFrame("测试窗口"); jf.setSize(250,250); jf.setLocationRelativeTo(null); jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); JPanelpanel=newJPanel(); //创建开关按钮 JToggleButtontoggleBtn=newJToggleButton(); //首先设置不绘制按钮边框 toggleBtn.setBorderPainted(false); //设置选中(开)和未选中(关)时显示的图片 toggleBtn.setSelectedIcon(newImageIcon("toggle_on.png")); toggleBtn.setIcon(newImageIcon("toggle_off.png")); //添加toggleBtn的状态被改变的监听 toggleBtn.addChangeListener(newChangeListener(){ @Override publicvoidstateChanged(ChangeEvente){ //获取事件源(即开关按钮本身) JToggleButtontoggleBtn=(JToggleButton)e.getSource(); System.out.println(toggleBtn.getText()+"是否选中:"+toggleBtn.isSelected()); } }); panel.add(toggleBtn); jf.setContentPane(panel); jf.setVisible(true); } }
运行代码,点击开关按钮,查看控制台输出。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。