按钮中的鼠标侦听器以更改标签中的点击次数
Mouse listener in button to change click count in label
如何把 MouseListener
放在 JButton
中,这样 JLabel
就变成了第一个。单击按钮的次数?
我使用鼠标侦听器创建了一个带有按钮和标签的框架。框架的标签显示没有。单击按钮的次数。
我尝试使用以下程序:
import javax.swing.*;
import java.awt.event.*;
class Bevent implements ActionListener
{
JFrame jf=new JFrame("BUTTON EVENT");
JButton jb=new JButton("CLICK !");
JLabel jl=new JLabel("CLicked 0 times");
int count=0;
Bevent()
{
jf.setSize(500,500);
jf.setLayout(null);
jf.setVisible(true);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
jb.setBounds(100,100,100,30);
jf.add(jb);
jl.setBounds(100,200,200,30);
jf.add(jl);
jb.addActionListener(this);
}
public static void main(String arg[])
{
new Bevent();
}
public void actionPerformed(ActionEvent ae){
count=count+1;
jl.setText("CLicked "+count+" times");
jf.add(jl);
}
}
是否是问题的有效代码。
这是一种方法。
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class ButtonClick{
JFrame frame;
JLabel label;
JButton button;
int count = 1;
public static void main(String[] args){
ButtonClick gui = new ButtonClick();
gui.go();
}
public void go(){
frame = new JFrame();
button = new JButton("Click me");
button.addActionListener(new ClickListener());
label = new JLabel("Clicked 0 times");
frame.getContentPane().add(BorderLayout.CENTER, button);
frame.getContentPane().add(BorderLayout.EAST, label);
frame.setSize(400,300);
frame.setVisible(true);
}
class ClickListener implements ActionListener{
public void actionPerformed(ActionEvent event){
label.setText("Clicked " + count + " times");
count += 1;
}
}
}
在上面的代码中,JButton
有一个 ClickListener
,它将 JLabel
的文本设置为 JButton
的次数(实例变量计数)被按下了。
如何把 MouseListener
放在 JButton
中,这样 JLabel
就变成了第一个。单击按钮的次数?
我使用鼠标侦听器创建了一个带有按钮和标签的框架。框架的标签显示没有。单击按钮的次数。 我尝试使用以下程序:
import javax.swing.*;
import java.awt.event.*;
class Bevent implements ActionListener
{
JFrame jf=new JFrame("BUTTON EVENT");
JButton jb=new JButton("CLICK !");
JLabel jl=new JLabel("CLicked 0 times");
int count=0;
Bevent()
{
jf.setSize(500,500);
jf.setLayout(null);
jf.setVisible(true);
jf.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
jb.setBounds(100,100,100,30);
jf.add(jb);
jl.setBounds(100,200,200,30);
jf.add(jl);
jb.addActionListener(this);
}
public static void main(String arg[])
{
new Bevent();
}
public void actionPerformed(ActionEvent ae){
count=count+1;
jl.setText("CLicked "+count+" times");
jf.add(jl);
}
}
是否是问题的有效代码。
这是一种方法。
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
public class ButtonClick{
JFrame frame;
JLabel label;
JButton button;
int count = 1;
public static void main(String[] args){
ButtonClick gui = new ButtonClick();
gui.go();
}
public void go(){
frame = new JFrame();
button = new JButton("Click me");
button.addActionListener(new ClickListener());
label = new JLabel("Clicked 0 times");
frame.getContentPane().add(BorderLayout.CENTER, button);
frame.getContentPane().add(BorderLayout.EAST, label);
frame.setSize(400,300);
frame.setVisible(true);
}
class ClickListener implements ActionListener{
public void actionPerformed(ActionEvent event){
label.setText("Clicked " + count + " times");
count += 1;
}
}
}
在上面的代码中,JButton
有一个 ClickListener
,它将 JLabel
的文本设置为 JButton
的次数(实例变量计数)被按下了。