hyt_ao 2015-11-27 12:47 采纳率: 41.2%
浏览 1367

为什么两个按钮不起作用,求大神指教

public class User extends Frame implements ActionListener{
Label name=new Label("用户名:");//创建标签
Label paseword=new Label("密 码:");//创建标签
TextField nameTextField=new TextField(10);//单行文本域,输入用户名
TextField pasewordTextField=new TextField(10);//单行文本域,输入密码
Button submit=new Button("提交");//提交按钮
Button reset=new Button("重置");//重置按钮
User(){
pasewordTextField.setEchoChar('*');//密码加密
//三个面板,用于存放以上六个组件
Panel panel1=new Panel();
Panel panel2=new Panel();
Panel panel3=new Panel();
//将组件添加到相应的面板中
panel1.add(name);
panel1.add(nameTextField);

     panel2.add(paseword);
     panel2.add(pasewordTextField);

     panel3.add(submit);
     panel3.add(reset);
     //对单行文本框和按钮添加事件监听器
     nameTextField.addActionListener(this);
     pasewordTextField.addActionListener(this);
     submit.addActionListener(this);
     reset.addActionListener(this);
     //将面板添加到窗口中
     add(panel1,"North");
     add(panel2,"Center");
     add(panel3,"South");

 }
public void actionPerformed(ActionEvent e) {
    if(e.getSource() instanceof TextField){//判断触发事件的是不是TextField
        Object object=e.getSource();
        if(object==nameTextField){
            pasewordTextField.requestFocus();}
        if(object==pasewordTextField){
            nameTextField.requestFocus();}
    } 
    if(e.getSource() instanceof Button){//判断触发事件的是不是Button  
        if(e.getActionCommand().equals("提交")){
            nameTextField.setText(null);           
            pasewordTextField.setText(null);}
        if(e.getActionCommand().equals("重置")){
            nameTextField.setText(null);
            pasewordTextField.setText(null);}
    }
}
public static void main(String[] args) {
    final User user=new User();
    user.setVisible(true);
    user.setSize(250,200);
    user.addWindowListener(new WindowAdapter(){//窗口关闭
        public void windowClosing(WindowEvent e){
            user.dispose();
        }
    });
}

}

  • 写回答

2条回答 默认 最新

  • zlp1992 2015-11-28 04:56
    关注

    按钮起作用了,你可以在按钮里面加System.out.print()输出有数据,应该是是你的nameTextField.setText(null);使用有误,我使用nameTextField.setText("任意字符"); 可以看到会改变

    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!