(帮帮忙)做一个Java客户端登陆界面在第二个界面不会调用第一个界面的文本框输入的用户名

Happy丶lazy 2017-11-18 09:53:40
package cho2;
import java.awt.Font;
import java.awt.Image;
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
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;

public class Login extends JFrame implements ActionListener {
private JPanel pan = new JPanel();
private JLabel namelab = new JLabel(" 用户名");
private JLabel passlab = new JLabel(" 密码");
private JTextField nametext = new JTextField();
private JPasswordField passtext = new JPasswordField();

public JButton denglu = new JButton("登录");
public JButton zhuce = new JButton("注册");

public Login(){
Font font = new Font("宋体",Font.BOLD,12);
super.setTitle("欢迎登录本系统");
pan.setLayout(null);
namelab.setBounds(200, 150, 60, 50);
nametext.setBounds(300, 150, 300, 50);
passlab.setBounds(200, 250, 60, 50);
passtext.setBounds(300, 250, 300, 50);
denglu.setBounds(300, 350, 100, 50);
zhuce.setBounds(500, 350, 100, 50);
pan.add(namelab);
pan.add(nametext);
pan.add(passlab);
pan.add(passtext);
pan.add(denglu);
pan.add(zhuce);
passtext.setFont(font);
zhuce.setFont(font);
denglu.addActionListener(this);
zhuce.addActionListener(this);
super.add(pan);
super.setResizable(false);
super.setSize(899, 547);
super.setLocationRelativeTo(null);//窗口居中
super.setVisible(true);
}

public static void main(String []args){

new Login();
}

@Override
public void actionPerformed(ActionEvent arg0) {
if(arg0.getSource()==denglu){
denglu();
}else if (arg0.getSource()==zhuce){
zhuce();
}
}
//登录按钮的事件处理函数
public void denglu(){
Jdbc d = new Jdbc();
String username = nametext.getText();
String password = passtext.getText();
if(d.compare(username, password)){
JOptionPane.showMessageDialog(null,"登录成功!");
new mainLayout();
super.setVisible(false);

}
}
//注册按钮触发后的事件处理函数
public void zhuce(){
Jdbc d = new Jdbc();
String username = nametext.getText();
String password = passtext.getText();
d.insert(username,password);
}

}

package cho2;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JOptionPane;

public class Jdbc {
Connection con = null;
Statement statement = null;
ResultSet res = null;
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/user";
String name = "root";
String passwd = "123456";

public Jdbc(){
try{
Class.forName(driver).newInstance();
con = DriverManager.getConnection(url,name,passwd);
statement = con.createStatement();

}catch(ClassNotFoundException e){
System.out.println("对不起,找不到这个Driver");
e.printStackTrace();
}catch(SQLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
public void insert(String username,String password){
String sql = "insert into user(username,password) values(\""+username+"\",\""+password+"\")";
try{
int a = statement.executeUpdate(sql);
con.close();
statement.close();
if(a==1){
JOptionPane.showMessageDialog(null,"注册成功!");
}
}catch(SQLException e){
JOptionPane.showMessageDialog(null, "对不起该用户名已经有了!");
e.printStackTrace();
}
}
//对比用户名和密码是不匹配
public boolean compare(String username,String password){
boolean m = false;
String sql = "select password from user where username=\""+username+"\"";
try{
res = statement.executeQuery(sql);
if(res.next()){
String pa = res.getString(1);
System.out.println(pa+" " +password);
if(pa.equals(password)){
m = true;
}else {
JOptionPane.showMessageDialog(null, "密码错误!");
}
}else {
JOptionPane.showMessageDialog(null, "用户名不存在!");
}

res.close();
con.close();
statement.close();

}catch(SQLException e){
e.printStackTrace();
}
return m;
}
}

package cho2;

import java.awt.Font;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class mainLayout extends JFrame {
private JPanel pan = new JPanel();
private JLabel namelab = new JLabel(" 姓名");
private JLabel NO = new JLabel(" 学号");
private JLabel dormitory = new JLabel(" 宿舍号");
private JTextField nametext = new JTextField();
private JTextField NOtext = new JTextField();
private JTextField dormitorytext = new JTextField();
private JTextField image = new JTextField();

public mainLayout(){
Font font = new Font("宋体",Font.BOLD,12);
super.setTitle("欢迎登录本系统");
pan.setLayout(null);
namelab.setBounds(150, 120, 60, 50);
nametext.setBounds(250, 120, 150, 50);
NO.setBounds(150, 220, 60, 50);
NOtext.setBounds(250, 220, 150, 50);
dormitory.setBounds(150, 320, 60, 50);
dormitorytext.setBounds(250, 320, 150,50);
image.setBounds(520, 120, 210, 250);
pan.add(namelab);
pan.add(nametext);
pan.add(NO);
pan.add(NOtext);
pan.add(dormitory);
pan.add(dormitorytext);
pan.add(image);
super.add(pan);
super.setResizable(false);
super.setSize(899, 547);
super.setLocationRelativeTo(null);//窗口居中
super.setVisible(true);
}
public void denglu(){
String username = nametext.getText();
}
}
...全文
230 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
sanvnie_kaka 2017-11-24
  • 打赏
  • 举报
回复
mainLayout 的构造函数加个username的参数啊,然后登录成功代码那里new mainLayout () 把username传过去 就可以了

58,453

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧