首页>代码>java swing开发大猫聊天室源码,简单易懂,适合java swing初学者>/java swing开发大猫聊天室源码/CatClient/src/cat/login/CatLogin.java
package cat.login;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.net.Socket;
import java.net.URLDecoder;
import java.net.UnknownHostException;
import java.util.HashMap;
import java.util.Properties;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.border.EmptyBorder;
import cat.client.CatChatroom;
import cat.function.CatBean;
import cat.function.ClientBean;
import cat.util.CatUtil;
public class CatLogin extends JFrame {
private JPanel contentPane;
private JTextField textField;
private JPasswordField passwordField;
public static HashMap<String, ClientBean> onlines;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
// 启动登陆界面
CatLogin frame = new CatLogin();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public CatLogin() {
setTitle("Landing cat chat room,最代码官方验证通过该代码\n");
String classPath = getClass().getResource("/").getPath();
File classFile = null;
try {
classFile = new File(URLDecoder.decode(classPath, "utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
final String classRootPath = classFile.getAbsolutePath() + "/";
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(350, 250, 450, 300);
contentPane = new JPanel() {
private static final long serialVersionUID = 1L;
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(new ImageIcon(classRootPath + "images/\u767B\u9646\u754C\u9762.jpg").getImage(), 0,
0, getWidth(), getHeight(), null);
}
};
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
textField = new JTextField();
textField.setBounds(128, 153, 104, 21);
textField.setOpaque(false);
contentPane.add(textField);
textField.setColumns(10);
passwordField = new JPasswordField();
passwordField.setForeground(Color.BLACK);
passwordField.setEchoChar('*');
passwordField.setOpaque(false);
passwordField.setBounds(128, 189, 104, 21);
contentPane.add(passwordField);
final JButton btnNewButton = new JButton();
btnNewButton.setIcon(new ImageIcon(classRootPath + "images\\\u767B\u9646.jpg"));
btnNewButton.setBounds(246, 227, 50, 25);
getRootPane().setDefaultButton(btnNewButton);
contentPane.add(btnNewButton);
final JButton btnNewButton_1 = new JButton();
btnNewButton_1.setIcon(new ImageIcon(classRootPath + "images\\\u6CE8\u518C.jpg"));
btnNewButton_1.setBounds(317, 227, 50, 25);
contentPane.add(btnNewButton_1);
// 提示信息
final JLabel lblNewLabel = new JLabel();
lblNewLabel.setBounds(60, 220, 151, 21);
lblNewLabel.setForeground(Color.red);
getContentPane().add(lblNewLabel);
// 监听登陆按钮
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Properties userPro = new Properties();
File file = new File("Users.properties");
CatUtil.loadPro(userPro, file);
String u_name = textField.getText();
if (file.length() != 0) {
if (userPro.containsKey(u_name)) {
String u_pwd = new String(passwordField.getPassword());
if (u_pwd.equals(userPro.getProperty(u_name))) {
try {
Socket client = new Socket("localhost", 8520);
btnNewButton.setEnabled(false);
CatChatroom frame = new CatChatroom(u_name,
client);
frame.setVisible(true);// 显示聊天界面
setVisible(false);// 隐藏掉登陆界面
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
errorTip("The connection with the server is interrupted, please login again");
} catch (IOException e1) {
// TODO Auto-generated catch block
errorTip("The connection with the server is interrupted, please login again");
}
} else {
lblNewLabel.setText("您输入的密码有误!");
textField.setText("");
passwordField.setText("");
textField.requestFocus();
}
} else {
lblNewLabel.setText("您输入昵称不存在!");
textField.setText("");
passwordField.setText("");
textField.requestFocus();
}
} else {
lblNewLabel.setText("您输入昵称不存在!");
textField.setText("");
passwordField.setText("");
textField.requestFocus();
}
}
});
//注册按钮监听
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
btnNewButton_1.setEnabled(false);
CatResign frame = new CatResign();
frame.setVisible(true);// 显示注册界面
setVisible(false);// 隐藏掉登陆界面
}
});
}
protected void errorTip(String str) {
// TODO Auto-generated method stub
JOptionPane.showMessageDialog(contentPane, str, "Error Message",
JOptionPane.ERROR_MESSAGE);
textField.setText("");
passwordField.setText("");
textField.requestFocus();
}
}
最近下载更多
moyuzc LV1
2024年5月7日
lalalla159 LV3
2023年12月2日
lxsnh123 LV3
2022年11月15日
aaaaachi LV1
2022年6月27日
渔客不知鱼乐 LV2
2022年6月18日
微信网友_6003487859068928 LV5
2022年6月15日
微信网友_5945726344056832 LV2
2022年5月5日
zhendong LV7
2022年3月10日
罐瓶 LV2
2022年2月27日
yuxinnan LV4
2022年2月4日
最近浏览更多
Arvin001
12月8日
暂无贡献等级
微信网友_7556333962743808 LV1
6月19日
Vincter LV3
2024年12月25日
13133117021 LV5
2024年12月24日
zjjxy2312040436
2024年12月23日
暂无贡献等级
dsczs666
2024年8月18日
暂无贡献等级
柳咪华沙 LV7
2024年6月28日
Po1aris
2024年6月23日
暂无贡献等级
18853847682
2024年6月17日
暂无贡献等级
大喊大叫凶手
2024年6月1日
暂无贡献等级

