⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 login.java

📁 一个采用Java Socket编程实现的C/S模式的记单词软件
💻 JAVA
字号:
package clientport;

import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Login extends JFrame implements ActionListener{
    private ClientPort st;
    private javax.swing.JButton Login;
    private javax.swing.JTextField input;
    private javax.swing.JPasswordField inputpassword;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JButton logcancel;
    private javax.swing.JButton logreg;
    private javax.swing.JComboBox user2;
    
    public Login(ClientPort str) {
        super("系统登录");
        st = str;
        jLabel1 = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        jLabel4 = new javax.swing.JLabel();
        Login = new javax.swing.JButton();
        logcancel = new javax.swing.JButton();
        logreg = new javax.swing.JButton();
        input = new javax.swing.JTextField();
        user2 = new javax.swing.JComboBox();
        inputpassword = new javax.swing.JPasswordField(); //产生登陆窗口的所有组件
        
        this.setBounds(250,200,450,300);
        Login.addActionListener(this);
        logcancel.addActionListener(this);
        logreg.addActionListener(this);
        user2.addActionListener(this);  //对所有组件建立监听器
        
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        jLabel1.setFont(new java.awt.Font("Arial", 3, 16));
         jLabel1.setText("UserName:");       
        jLabel2.setFont(new java.awt.Font("Arial", 3, 16));
        jLabel2.setText("Password:");
        Login.setText("\u767b\u5f55");     
        logcancel.setText("\u53d6\u6d88");
        logreg.setText("\u7533\u8bf7\u6ce8\u518c");
        user2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "\u8bd5\u7528\u7528\u6237", "\u666e\u901a\u7528\u6237", "\u7cfb\u7edf\u7ba1\u7406\u5458" }));
        jLabel3.setText("*\u9009\u62e9\u8bd5\u7528\u7528\u6237\u9009\u9879\uff0c\u60a8\u5c06\u4e0d\u5fc5\u8f93\u5165\u7528\u6237\u540d\u53ca\u5bc6\u7801\uff0c");
        jLabel4.setText("\u4f46\u60a8\u53ea\u80fd\u4f7f\u7528\u7cfb\u7edf\u7684\u90e8\u5206\u529f\u80fd\u3002");
        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addGroup(layout.createSequentialGroup()
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                      .addContainerGap()
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
                      .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addGap(17, 17, 17)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                      .addComponent(inputpassword, 0, 0, Short.MAX_VALUE)
                      .addComponent(input, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)))
                      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                      .addComponent(Login)
                      .addGap(35, 35, 35)
                      .addComponent(logcancel))
                      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                      .addContainerGap()
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addGroup(layout.createSequentialGroup()
                      .addGap(10, 10, 10)
                      .addComponent(jLabel4, javax.swing.GroupLayout.DEFAULT_SIZE, 267, Short.MAX_VALUE))
                      .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                      .addGap(15, 15, 15)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addComponent(logreg)
                      .addComponent(user2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addContainerGap(36, Short.MAX_VALUE))
                      ); //创建系统布局管理
        
        layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                      .addGroup(layout.createSequentialGroup()
                      .addGap(22, 22, 22)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                      .addComponent(jLabel1)
                      .addComponent(input, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                      .addComponent(user2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addGap(36, 36, 36)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                      .addComponent(jLabel2)
                      .addComponent(inputpassword, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                      .addGap(49, 49, 49)
                      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                      .addComponent(Login)
                      .addComponent(logcancel)
                      .addComponent(logreg))
                      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                      .addComponent(jLabel3)
                      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                      .addComponent(jLabel4)
                      .addContainerGap(17, Short.MAX_VALUE))
                      );//创建系统布局管理
    }
    public JTextField getText1(){
        return input;
    }
    public JPasswordField getpassword(){
        return inputpassword;
    }
    public JLabel getLabel(){
        return jLabel3;
    }
    public JLabel getLabel1(){
        return jLabel4;
    }
    public void setLabel(String st){
        jLabel3.setForeground(new java.awt.Color(255, 0, 51));
        jLabel3.setText(st);
        jLabel4.setText("");
    }
    
    public void actionPerformed(ActionEvent e) {  //整体为窗口的事件监听
         int userdegree = 1;
        if(e.getSource()==Login){          
            if(user2.getSelectedIndex()==0){
                userdegree = 1;    //试用用户
            }
            if(user2.getSelectedIndex()==1){
                userdegree = 2;    //普通用户
            }
            if(user2.getSelectedIndex()==2){
                userdegree = 3;    //管理员
            }
        if(input.getText().equalsIgnoreCase("")||inputpassword.getText().equalsIgnoreCase("")){
             if(userdegree != 1)
             {input.setText(null);
              inputpassword.setText(null);
              JOptionPane.showMessageDialog(this,"请输入用户名和密码才能登录!");
             }else
             {
                 JOptionPane.showMessageDialog(this,"您将以试用用户的身份登录,并且只能使用本系统的部分功能。");
                 this.setVisible(false);          
                 st.getselect().setVisible(true);
             }
        }
        else if(userdegree != 1){
             st.setusername(input.getText().trim());
             String st1 = "111"+input.getText().trim()+" "+inputpassword.getText().trim()+" "+userdegree+" ";
             st.SetType(userdegree);
             st.SentMessage(st1);           
             //发送数据包给服务器,标志为:111(可以返回用户界面和管理员界面)
             }
            if(userdegree == 1){
                st.SetType(userdegree);
                st.getuser1().getpanel().setText("匿名用户");
            }
            if(userdegree == 1 && !(input.getText().equalsIgnoreCase("")) && !(inputpassword.getText().equalsIgnoreCase("")) ){
                JOptionPane.showMessageDialog(this,"请选择非试用用户类型");
            }
        }
 
    if(e.getSource()==logcancel)
        System.exit(0);
    if(e.getSource()==logreg){            
        st.getRegister().setVisible(true);
        this.setVisible(false);}
}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -