我想給按鈕4和按鈕5添加鼠標單擊事件,但是我不知道怎麼加,求大神給個方法
import java.awt.*;
import javax.swing.*;
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的地址,改成這樣就可以了。