常用事件监听器
1.动作事件监听器
package Demo;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
@SuppressWarnings("serial")
public class demo7 extends JFrame{
private JButton jb = new JButton("我是按钮,请点击我");
public demo7(String title){
jb.setBounds(10, 10, 200, 200);
jb.addActionListener(new jbAction());
setLayout(null);
setBounds(200, 200, 500, 500);
Container c = getContentPane();
c.add(jb);
setTitle(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
class jbAction implements ActionListener{
public void actionPerformed(ActionEvent arg0){
jb.setText("我被点击了");
}
}
public static void main(String[] args) {
new demo7("我的JFrame");
}
}
2. 焦点事件监听器
package Demo;
import java.awt.Container;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JButton;
@SuppressWarnings("serial")
public class demo7 extends JFrame{
@SuppressWarnings("unused")
public demo7(String title){
JLabel jLabel = new JLabel("用户");
JButton jt1 = new JButton("请单击其他文本框");
JButton jt2 = new JButton("请单击我");
setLayout(null);
jt1.setBounds(10, 10, 100, 100);
jt2.setBounds(70, 70, 100, 100);
Container c = getContentPane();
c.add(jt1);
c.add(jt2);
jt1.addFocusListener(new FocusListener() {
@Override
public void focusLost(FocusEvent e) {
JOptionPane.showMessageDialog(null, "文本框t1失去焦点");
}
@Override
public void focusGained(FocusEvent e) {
}
});
setLocation(200, 200);
setSize(500, 500);
setTitle(title);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new demo7("我的JFrame");
}
}