我想给按钮4和按钮5添加鼠标单击事件,但是我不知道怎么加,求大神给个方法
public class yt extends JFrame{
static int t;
public static JButton an;
public static void main(String[] args) {
JFrame j=new JFrame();
Container c=j.getContentPane();
JPanel j1=new JPanel();
j1.setLayout(new FlowLayout(1,10,10));
for(t=0;t<10;t++){
an=new JButton("按钮"+t);
j1.add(an);
}
c.add(j1);
j.setVisible(true);
j.setSize(400,300);
j.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
public class yt extends JFrame {
public static void main(String[] args) {
anniu();
}
public static void anniu() {
JFrame j = new JFrame();
Container c = j.getContentPane();
JPanel j1 = new JPanel();
j1.setLayout(new FlowLayout(1, 10, 10));
for (int t = 0; t < 10; t++) {
final JButton an = new JButton("按钮" + t);
j1.add(an);
an.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println(an.getText());
if ("按钮4".equals(an.getText())) {
System.out.println("按钮4");
} else if ("按钮5".equals(an.getText())) {
System.out.println("按钮5");
}
}
});
}
c.add(j1);
j.setVisible(true);
j.setSize(400, 300);
j.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
你在对象an上添加监听事件就一直会监听按钮9,因为你的对象for循环里面每次都重新给了个地址,所以an的地址其实就是按钮9的地址,改成这样就可以了。