即如:按钮JButton jb = new JButton();
在监听中,jb可以实现两个功能:开/关。
点一次按钮上的文字为:开,第二次点击为:关。再点击又变回:开。
------解决方案--------------------
可以设置一个全局变量、点次开关就累计加一、
取模运算 等于1 和等于0 在累加多少次之后 从新给该变量赋值
------解决方案--------------------
------解决方案--------------------
- Java code
package de;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;public class som extends JFrame implements ActionListener{private static final long serialVersionUID = 1L;static int i=0;JButton jb;boolean mark;public som(){ Panel p = new Panel();jb = new JButton("关");jb.addActionListener(this);p.add(jb);add(p);this.setVisible(true);this.pack();}public static void main(String args[]){new som();}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubif(e.getSource()==jb){if(i%2==0){jb.setActionCommand("开");[color=#FF0000]jb.setText(" 关");//这里忘了改变文本值,所以你看不出效果来[/color]mark=true; //用于中止线程的run()方法i=i+1;}else{mark = false;jb.setActionCommand("关");[color=#FF0000]jb.setText(" 关");//这里忘了改变文本值,所以你看不出效果来[/color]i=i+1;}}}}