package com.tuoluofu.frame;import java.awt.*;
import java.awt.event.*;import javax.swing.*;public class Login extends JFrame{

private JLabel lblName ,lblUsername,lblPwd;
private JTextField txtUsername;
private JButton jbSubmit,jbCancel;
private JPasswordField pwdPwd;

public Login()
{
this.init();
this.setSize(250, 220);
int sWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth();
int sHeight = (int)Toolkit.getDefaultToolkit().getScreenSize().getHeight();
int wWidth = this.getWidth();
int wHeight = this.getHeight();
this.setLocation((sWidth - wWidth) / 2, (sHeight - wHeight) / 2);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}

public void init()
{
Container container = this.getContentPane();
JPanel panNorth = new JPanel();
JPanel panCenter = new JPanel();
JPanel panSouth = new JPanel();

panNorth.setLayout(new FlowLayout(FlowLayout.CENTER,5,10));
panCenter.setLayout(new FlowLayout(FlowLayout.CENTER,10,15));
panSouth.setLayout(new FlowLayout(FlowLayout.CENTER,10,15));

panNorth.add(this.getLblName());
panCenter.add(this.getLblUsername());
panCenter.add(this.getTxtUsername());
panCenter.add(this.getLblPwd());
panCenter.add(this.getPwdPwd());
panSouth.add(this.getJbSubmit());
panSouth.add(this.getJbCancel());

container.add(panNorth,BorderLayout.NORTH);
container.add(panCenter, BorderLayout.CENTER);
container.add(panSouth, BorderLayout.SOUTH);
}

public JLabel getLblName() {
if(this.lblName == null)
{
this.lblName = new JLabel("图书管理系统");
}
return lblName;
}
public JLabel getLblUsername() {
if(this.lblUsername == null)
{
this.lblUsername = new JLabel("用户名:");
}
return lblUsername;
}
public JLabel getLblPwd() {
if(this.lblPwd == null)
{
this.lblPwd = new JLabel("密   码 :");
}
return lblPwd;
}
public JTextField getTxtUsername() {
if(this.txtUsername == null)
{
this.txtUsername = new JTextField(12);
}
return txtUsername;
}
public JButton getJbSubmit() {
if(this.jbSubmit == null)
{
jbSubmit = new JButton("确定"); this.jbSubmit.addActionListener(this);
this.jbSubmit.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode()==10)
{
String user = Login.this.getLblUsername().getText();
String pwd = Login.this.getLblPwd().getText();
if(user.equals("tuoluofu") && pwd.equals("tuoluofu"))
{
First first = new First();
}
else {
Login.this.getTxtUsername().setText("");
Login.this.getPwdPwd().setText("");
Login.this.getTxtUsername().requestFocus();
}
}
}

});

}
return jbSubmit;
}
public JButton getJbCancel() {
if(this.jbCancel == null)
{
this.jbCancel = new JButton("取消");
}
return jbCancel;
}
public JPasswordField getPwdPwd() {
if(this.pwdPwd == null)
{
this.pwdPwd = new JPasswordField(12);
}
return pwdPwd;
}
}
确定按钮的事件监听器有错误
大家帮助解决一下
。。谢谢了

解决方案 »

  1.   

    this.jbSubmit.addActionListener(this); 
    这里的this是指你的Login对象吧,但我看你的Login只继承了JFrame并没有实现ActionListener接口,所以这样写一定有问题!可以试试
    this.jbSubmit.addActionListener(new ActionListener()
    {
         public void actionPerformed()

    //确定按钮事件处理代码
    }
    }
    ); 
      

  2.   

    错了,应该是
    public void actionPerformed(ActionEvent e) 

    //确定按钮事件处理代码 

      

  3.   

    抄书也不能只抄部分啊
    this.jbSubmit.addActionListener(this); 你这个类自身并没有实现ActionListener接口。
    我很奇怪编译能过?????很怀疑。要不就跟楼上说的jbSubmit.addActionListener(new ActionListener() 
    要不就是public class Login extends JFrame implements ActionListener
      

  4.   

    this.jbSubmit.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent event){
        // add your code here
        } 
    });
      

  5.   

    我是初学java的学生,有道题想请教大家:这是我的程序:import java.awt.*;
    import java.awt.event.*;
    class MyFrame extends Frame
    {
       Label l1,l2,l3,l4,l5;
       TextField txt1,txt2;
       CheckboxGroup gp=new CheckboxGroup();
       Checkbox b1,b2,b3,b4,b5;
       Button bt1,bt2;
       Panel p1=new Panel(); 
       Panel p2=new Panel(); 
       Panel p3=new Panel(); 
       Panel p4=new Panel(); 
       Panel p5=new Panel(); 
       Panel p6=new Panel();
    public MyFrame()
       {
        super("JAVA程序学习");
        setBackground(Color.lightGray);
        setLayout(new GridLayout(5,1));
        setVisible(true);
        pack();    l1=new Label("学生录取情况查询",Label.CENTER);
        l2=new Label("请输入你的名字:");
        l3=new Label("选择性别:");
        l4=new Label("选择你的兴趣爱好:");
        l5=new Label("输出查询结果");    txt1=new TextField(8);
        txt2=new TextField(16);    b1=new Checkbox("男",gp,true);
        b2=new Checkbox("女",gp,false); 
        b3=new Checkbox("篮球"); 
        b4=new Checkbox("登山"); 
        b5=new Checkbox("音乐"); 
        bt1=new Button("提交");
        bt2=new Button("重置");    p1.add(l1); 
        p2.add(l2);p2.add(txt1); 
        p3.add(l3);p3.add(b1);p3.add(b2);
        p4.add(l4);p4.add(b3);p4.add(b4);p4.add(b5);
        p5.add(bt1); p5.add(bt2);
        p6.add(l5);p6.add(txt2);
        add(p1); add(p2); add(p3); add(p4); add(p5);add(p6);
        setSize(400,400);    this.addWindowListener(new WindowAdapter(){
          public void windowClosing(WindowEvent e){
           dispose();
           System.exit(0);
          }
        });
       }
    }
    public class TestMyFrame {
    public static void main(String[] args){
          MyFrame w=new MyFrame(); 
           }
    }我遇到的问题是怎样达到如下效果:1.如果是男性,必须选择三个兴趣爱好时按键“提交”才能被录取;2.如果是女生,必须选择两个兴趣爱好时按键“提交”才能被录取;3.按键“重置”时回复原样。
      

  6.   

    我的联系方式是[email protected]@126.com