第十二周课程总结

第十二周课程总结

登录界面:

package 登录界面;
import java.awt.Font; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.JPasswordField; 
import javax.swing.JTextField; 


public class LoginWindows implements ActionListener {
    JFrame frame;
    JLabel lblUser,lblPsw;
    JTextField tfUser;
    JPasswordField pfUser;
    JButton btnLogin,btnReset;
    JTextField UserText;    
    JLabel lblResult;
    JPasswordField PswText;
    
    public LoginWindows(){
        frame=new JFrame("登录窗口");
        lblUser=new JLabel("用户名");
        lblPsw=new JLabel("密码");
        tfUser=new JTextField();
        pfUser=new JPasswordField();
        btnLogin=new JButton("登录");
        btnReset=new JButton("重置");
        lblResult = new JLabel("用户登录系统");
        UserText=new JTextField();
        PswText=new JPasswordField();
            
        
        
        Font fnt=new Font("Serief",Font.BOLD,12);
        frame.setFont(fnt);
        btnReset.addActionListener(this);
        btnReset.addActionListener(this); 
        frame.setLayout(null);
        lblUser.setBounds(10,10,40,30);
        lblPsw.setBounds(10,50,40,30);
        tfUser.setBounds(60,10,100,30);
        pfUser.setBounds(60,50,100,30);
        btnLogin.setBounds(40,90,60,30);
        btnReset.setBounds(120,90,60,30);
        lblResult.setBounds(50,140,200,30);   
        
        frame.add(lblUser);
        frame.add(lblPsw);
        frame.add(tfUser);
        frame.add(pfUser);
        frame.add(btnLogin);
        frame.add(btnReset);
        frame.add(lblResult);
        frame.add(btnLogin); 
        frame.add(btnReset); 
        frame.add(UserText); 
        frame.add(PswText); 
        
       
        

        frame.setSize(300,150); 
        frame.setVisible(true);
}
        public void actionPerformed(ActionEvent arg0) { 
            if(arg0.getSource()==btnLogin){ 
                String tname = UserText.getText();   
                String tpass = new String(PswText.getPassword()); 
                if(tname.equals("gonghan")&&tpass.equals("123456")){ 
                    lblResult.setText("登录成功,欢迎光临!"); 
                }else{ 
                    lblResult.setText("登录失败,用户名或密码错误!"); 
                } 
            } 
            if(arg0.getSource()==btnReset){ 
                UserText.setText("");
                PswText.setText(""); 
                lblResult.setText("用户登录系统!"); 
            } 
        }         
} 
package 登录界面;

public class text {
     public static void main(String[] args){
         new LoginWindows(); 
     }
}

实验结果:

 还无法实现登陆账号密码成功的判定。

 学习总结:

本周主要学习了其他容器和事件处理

1.JPanel

可以将多个组件加入到JPanel中以实现复杂的排列,一个界面只可以有一个JFrame窗体组件,但是可以有多个JPanel面板组件,而JPanel上也可以使用FlowLayout,BorderLayout,GridLayout等各种布局管理器,这样可以组合使用,达到较为复杂的布局效果。

2.JSplitPane

JSplitPane用来将窗口分割成两个部分。JSplitPane提供两个常数让你设置到底是要垂直分割还是水平分割。这两个常数分别是:HORIZONTAL_SPIT,VERTICAL_SPLIT

3.JTabbedPane

JTabbedPane创建的选项卡可以通过单击标题或者图标在选项卡之间进行切换。

4.JScrollPane

主要功能是为显示的内容加入水平滚动条。

5.文本组件:

单行文本输入框:JTextField
密码文本输入框:JPasswordField
多文本输入组件:JTextArea

6.窗体事件(WindowListener)常用接口方法voidwindowActivated/windowDeactivated(WindowEvent e)                               //将窗口变为活动/不活动窗口时触发voidwindowClosed/Closing/Iconified(WindoowEvent e)//当窗口被关闭时/正在关闭/最小化时触发3.监听适配器Adapter:用户继承该类后就可以根据自己的需要来覆写方法,就不需要覆写接口里的所有抽象方法了。4.动作事件及监听处理ActionListener:处理按钮的动作事件,让按钮变得更加有意义。voidactionPerFormed(ActionEvent e)//发生操作时调用

7.监听适配器:

监听接口中有很多抽象方法,在实现接口的时候,需要重写所有的方法,但经常只会用到其中的一个或两个,这无疑是一种多余。于是出于简化的目的,每个还有多个方法的的监听器接口都配有一个适配器类,这个类实现了接口中的所有方法,但是每个方法没有做任何事情。通过继承适配器类,重写其中的需要使用的方法,不必重写全部的方法,简单方便。

原文地址:https://www.cnblogs.com/Jay-h/p/11870246.html