官方JavaDocsApi: javax.swing。JToggleButton
JToggleButton、开关按钮.JToggleButton是JRadioButton, JCheckBox窗口的父类,主要实现一个按钮的两种状态(选中和未选中)来实现开关切换的效果。
<强> JToggleButton常用构造方法:强>
//无文本,默认未选中 JToggleButton ()//有文本,默认未选中 JToggleButton(字符串文本)//有文本,并指定是否选中 JToggleButton(字符串文本、布尔选择) >之前<强> JToggleButton常用方法:强>
//设置开关按钮的文本,字体和字体颜色 空白setText(字符串文本) 空白setFont(字体字体) 空白setForeground(颜色fg)/*以下方法定义在javax.swing。AbstractButton基类中*///设置开关按钮是否选中状态 空白setSelected(布尔b)//判断开关按钮是否选中 布尔isSelected ()//设置开关按钮是否可用 空白setEnabled(布尔启用)//设置开关按钮在默认(关),被选中(开),不可用时显示的图片 空白setIcon defaultIcon(图标) 空白setPressedIcon pressedIcon(图标) 空白setDisabledIcon disabledIcon(图标)//设置图片和文本之间的间距 空白setIconTextGap (int iconTextGap) >之前<强> JToggleButton常用监听器:强>
//添加状态改变监听器 空白addChangeListener (ChangeListener l)
包com.xiets.swing; 进口javax.swing。*; 进口javax.swing.event.ChangeEvent; 进口javax.swing.event.ChangeListener; 公开课主要{ 公共静态void main (String [] args) { JFrame摩根富林明=new JFrame(“测试窗口”); 摩根富林明。setSize (250、250); jf.setLocationRelativeTo(空); jf.setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE); JPanel面板=new JPanel ();//创建开关按钮 JToggleButton toggleBtn=new JToggleButton(“开关按钮”);//添加toggleBtn的状态被改变的监听 toggleBtn。addChangeListener(新ChangeListener () { @Override 公共空间statechange (ChangeEvent e) {//获取事件源(即开关按钮本身) JToggleButton toggleBtn=(JToggleButton) e.getSource (); System.out.println (toggleBtn.getText() +”是否选中:“+ toggleBtn.isSelected ()); } }); panel.add (toggleBtn); jf.setContentPane(面板); jf.setVisible(真正的); } } >之前结果展示:
运行代码,点击开关按钮,查看控制台输出。
使用下面两个图片分别代表开关按钮的选中(开)和未选中(关)状态,分别命名为:toggle_on.png toggle_off。png:
包com.xiets.swing; 进口javax.swing。*; 进口javax.swing.event.ChangeEvent; 进口javax.swing.event.ChangeListener; 公开课主要{ 公共静态void main (String [] args) { JFrame摩根富林明=new JFrame(“测试窗口”); 摩根富林明。setSize (250、250); jf.setLocationRelativeTo(空); jf.setDefaultCloseOperation (WindowConstants.EXIT_ON_CLOSE); JPanel面板=new JPanel ();//创建开关按钮 JToggleButton toggleBtn=new JToggleButton ();//首先设置不绘制按钮边框 toggleBtn.setBorderPainted(假);//设置选中(开)和未选中(关)时显示的图片 toggleBtn。setSelectedIcon(新ImageIcon (“toggle_on.png”); toggleBtn。setIcon(新ImageIcon (“toggle_off.png”);//添加toggleBtn的状态被改变的监听 toggleBtn。addChangeListener(新ChangeListener () { @Override 公共空间statechange (ChangeEvent e) {//获取事件源(即开关按钮本身) JToggleButton toggleBtn=(JToggleButton) e.getSource (); System.out.println (toggleBtn.getText() +”是否选中:“+ toggleBtn.isSelected ()); } }); panel.add (toggleBtn); jf.setContentPane(面板); jf.setVisible(真正的); } } >之前
Java Swing JToggleButton开关按钮的实现