Java Swing JToggleButton开关按钮的实现

  

  

官方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(真正的);   }      }   之前      

结果展示:

  

 Java Swing JToggleButton开关按钮的实现

  

运行代码,点击开关按钮,查看控制台输出。
  

  


  

  

使用下面两个图片分别代表开关按钮的选中(开)和未选中(关)状态,分别命名为:toggle_on.png toggle_off。png:
  

  

 Java Swing JToggleButton开关按钮的实现

        包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开关按钮的实现

Java Swing JToggleButton开关按钮的实现