日期:2014-05-20 浏览次数:20906 次
import java.awt.*; import java.awt.event.*; import javax.swing.JFrame; public class userLogin2 extends WindowAdapter implements ActionListener { Frame frame= new Frame("用户登录界面"); Frame nf; Panel panel1 = new Panel(); Button ok; Button exit ; TextField tname,tpwd; public static void main(String[] args) { // 先执行creatPanel()方法,将返回Panel结果作为创建窗体的参数 new userLogin2().creatFrame(new userLogin2().creatPanel()); } Panel creatPanel() { // 创建Panel容器,并添加按钮和标签组件 panel1.setLayout(new GridLayout(3,2)); panel1.add(new Label ("用户名")); tname = new TextField(); panel1.add(tname); panel1.add(new Label ("密 码")); tpwd = new TextField(); panel1.add(tpwd); ok = new Button ("确定"); //注册使用监听接口实现的事件处理器 ok.addActionListener(this); panel1.add(ok); exit= new Button ("关闭"); exit.addActionListener(this); panel1.add(exit); // 将创建的组件返回 return panel1; } void creatFrame(Panel p) { frame.setLayout(new BorderLayout()); // 将4个方向的区域空出来 frame.add(BorderLayout.NORTH,new Label()); frame.add(BorderLayout.SOUTH,new Label()); frame.add(BorderLayout.WEST,new Label()); frame.add(BorderLayout.EAST,new Label()); // 将Panel添加在中间区域 frame.add(BorderLayout.CENTER,p); //注册使用适配器实现的事件处理器 frame.addWindowListener(this); frame.setSize(250,150); frame.setVisible(true); } // 实现事件适配器中的窗体关闭方法 public void windowClosing(WindowEvent e) { frame.dispose(); } // 实现事件监听接口的唯一行为方法 public void actionPerformed(ActionEvent e) { if(e.getSource()==ok) { if (tname.getText().equals("admin") && tpwd.getText().equals("admin")) { // 调用处理结果的方法 newFrame(true); } else newFrame(false); } // 取消按钮 else if(e.getSource()==exit) System.exit(0); } //创建新窗体方法,用来显示登录成败信息,并具体窗体关闭功能 public void newFrame(boolean flag) { nf = new Frame("登录"); if(flag) { nf.add(new Label("登录成功")); } else nf.add(new Label("登录失败")); nf.addWindowListener(new tt(nf)); nf.setSize(300,200); nf.setVisible(true); } } class tt extends WindowAdapter { Frame jf=null; public tt(Frame f) { jf =f; } public void windowClosing(WindowEvent e) { jf.dispose(); } }