📄 login.java
字号:
package cilent;
import wodqq.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.io.*;
import javax.swing.border.*;
import cilent.MainWin;
import cilent.Register;
import javax.swing.border.*;
public class Login
extends JFrame { //登录窗口类
JPanel contentPane;
//*****************
String server; //服务器名
int serport; //端口
private Socket socket;
private BufferedReader in; //输入输出流
private PrintWriter out;
//***********//程序界面
JPanel jPanel1 = new JPanel();
JLabel jLabel2 = new JLabel();
JTextField jicq = new JTextField();
JLabel jLabel3 = new JLabel();
JPasswordField password = new JPasswordField();
JPanel jPanel2 = new JPanel();
ImageIcon img1 = new ImageIcon("src/img/login.png");
ImageIcon img2 = new ImageIcon("src/img/newuser.png");
ImageIcon img3 = new ImageIcon("src/img/quit.png");
BackGroundButton login = new BackGroundButton(img1);
BackGroundButton newuser = new BackGroundButton(img2);
BackGroundButton quit = new BackGroundButton(img3);
JLabel jLabel6 = new JLabel();
JTextField servername = new JTextField();
JLabel jLabel7 = new JLabel();
JTextField serverport = new JTextField();
Border border1;
Border border2;
ImageIcon img = new ImageIcon("src/img/head.png");
BackGroundPanel jPanel3 = new BackGroundPanel(img);
Border border3;
//构造方法
public Login() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
server = servername.getText().toString().trim();
serport = Integer.parseInt(serverport.getText().trim());
}
catch (Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
border1 = BorderFactory.createLineBorder(new Color(94, 244, 255), 1);
border2 = BorderFactory.createLineBorder(new Color(81, 181, 255), 1);
contentPane.setLayout(null);
this.setResizable(false);
this.setSize(new Dimension(321, 237));
this.setTitle("QQ用户登陆");
//contentPane.add(text, null);
jPanel1.setBackground(new Color(156, 225, 255));
jPanel1.setBorder(border2);
jPanel1.setBounds(new Rectangle(3, 49, 310, 113));
jPanel1.setLayout(null);
jLabel2.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel2.setText("QQ号码 ");
jLabel2.setBounds(new Rectangle(10, 22, 58, 18));
jicq.setBorder(border2);
jicq.setBounds(new Rectangle(69, 21, 144, 22));
jLabel3.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel3.setText("QQ密码");
jLabel3.setBounds(new Rectangle(12, 61, 56, 18));
password.setBorder(border2);
password.setBounds(new Rectangle(68, 60, 141, 22));
jPanel2.setBackground(new Color(156, 225, 255));
jPanel2.setBounds(new Rectangle(2, 164, 315, 58));
jPanel2.setLayout(null);
login.setText("登录");
login.setBackground(new Color(156, 225, 255));
login.setBounds(new Rectangle(136, 3, 75, 21));
login.setBorder(null);
login.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
login_mouseClicked(e);
}
});
newuser.setText("注册");
newuser.setBackground(new Color(156, 225, 255));
newuser.setBounds(new Rectangle(218, 20, 60, 21));
newuser.setBorder(null);
newuser.setPressedIcon(new ImageIcon(new java.net.URL(
"file:///D:/jbuilder/bin/myQQ/src/img/newuser.png")));
newuser.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
newuser_mouseClicked(e);
}
});
quit.setText("退出");
quit.setBackground(new Color(156, 225, 255));
quit.setBounds(new Rectangle(216, 3, 79, 21));
quit.setBorder(null);
quit.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(MouseEvent e) {
quit_mouseClicked(e);
}
});
jLabel6.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel6.setText("服务器");
jLabel6.setBounds(new Rectangle(18, 279, 41, 18));
servername.setText("0.0.0.0");
servername.setBounds(new Rectangle(64, 277, 43, 22));
jLabel7.setFont(new java.awt.Font("DialogInput", 0, 12));
jLabel7.setText("端口");
jLabel7.setBounds(new Rectangle(25, 240, 34, 18));
serverport.setText("8080");
serverport.setBounds(new Rectangle(86, 241, 35, 22));
contentPane.setBackground(new Color(156, 225, 255));
jPanel3.setBackground(new Color(156, 225, 255));
jPanel3.setBounds(new Rectangle(0, 0, 316, 49));
jPanel1.add(jicq, null);
jPanel1.add(jLabel2, null);
jPanel1.add(newuser, null);
jPanel1.add(password, null);
jPanel1.add(jLabel3, null); contentPane.add(serverport, null); contentPane.add(jLabel7, null); contentPane.add(jLabel6, null); contentPane.add(servername, null);
contentPane.add(jPanel2, null);
jPanel2.add(login, null);
jPanel2.add(quit, null);
contentPane.add(jPanel3, null);
contentPane.add(jPanel1, null);
}
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public static void main(String[] args) { //主程序
Login f = new Login();
f.setVisible(true);
}
void login_mouseClicked(MouseEvent e) { //登录按扭
try {
Socket socket = new Socket(InetAddress.getByName(server), serport); //连接服务器
BufferedReader in = new BufferedReader(new InputStreamReader(socket.
getInputStream()));
PrintWriter out = new PrintWriter(new BufferedWriter(
new OutputStreamWriter(socket.getOutputStream())), true);
out.println("login"); //告诉服务器我要登录
out.println(jicq.getText());
out.println(password.getPassword());
String str = " ";
//do{
str = in.readLine().trim(); //从服务器读取消息
//如果失败就告诉出错
if (str.equals("false"))
JOptionPane.showMessageDialog(this, "对不起,出错了", "ok",
JOptionPane.INFORMATION_MESSAGE);
else { //如果成功就打开主程序
this.dispose();
int g = Integer.parseInt(jicq.getText());
MainWin f2=new MainWin(g,server,serport);
f2.setVisible(true);
}
//System.out.println("\n");
//}while(!str.equals("ok"));
}
catch (IOException e1) {}
}
void newuser_mouseClicked(MouseEvent e) { //新建用户按纽
this.dispose();
JDialog d = new Register(server, serport); //打开新建窗口
d.pack();
d.setLocationRelativeTo(this);
d.setSize(400, 400);
d.show();
}
void quit_mouseClicked(MouseEvent e) { //关闭按扭
this.dispose();
System.exit(0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -