要求如下
当点击登陆按钮的时候,就会自动跳转到聊天界面。
我问了很多人了。请你在修改之后再自己的电脑测试一下能否实现
当点击登陆按钮的时候,就会自动跳转到聊天界面。
package sql;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
class liaotian extends JFrame implements ActionListener{
JPanel jpanel1;
TextArea textArea1;
TextField textField3;
JButton jButton1;
liaotian(){
this.setTitle("对话");
this.setSize(600,600);
jpanel1=new JPanel();
textArea1=new TextArea(15,15);
jButton1=new JButton("发送");
textField3=new TextField(10);
jpanel1.add(textArea1);
jButton1.addActionListener(this);
jpanel1.add(jButton1);jpanel1.add(textField3);
this.add(jpanel1);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jButton1){
textArea1.setText(textField3.getText());
textField3.setText("");
}}}
public class lianxi2 extends JFrame implements ActionListener{
JPanel jpanel;
Label label1;
TextField textField1;
Label label2;
TextField textField2;
JButton jButton;
static String col11,col12;
public lianxi2(){
super("登陆");
jpanel=new JPanel();
this.setVisible(true);
this.setSize(600,600);
label1=new Label("账号");
textField1=new TextField(15);
label2=new Label("密码");
textField2=new TextField(15);
jButton=new JButton("登陆");
jpanel.add(label1); jpanel.add(textField1);
jpanel.add(label2); jpanel.add(textField2);
jpanel.add(jButton);
this.add(jpanel);
jButton.addActionListener(this); //给jbutton加上监听
}
public static void main(String[] args) {
lianxi2 lt = new lianxi2();
lt.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if(e.getSource()==jButton){
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载数据库驱动
Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;Database=denglu","sa","123456");//链接数据库
Statement statement=conn.createStatement();
ResultSet rs = statement.executeQuery("select * from denglu ");
while(rs.next()){
col11= rs.getString("zhanghao");
col12 = rs.getString("mima");
if(textField1.getText()==col11){
if(textField2.getText()==col12){
liaotian m=new liaotian();
}
}
}
conn.close();
}
catch(Exception ex){
ex.printStackTrace();
}
}
}}
本人已经测试过了 可以运行成功
if(textField1.getText()==col11){
if(textField2.getText()==col12){
liaotian m=new liaotian();
}
} 比较字符串使用equals,用==是比较地址的,不是比较内容,修改如下
if (textField1.getText().trim() .equals( col11)) {
if (textField2.getText().trim() .equals(col12)) {
liaotian m = new liaotian();
}
}
public void actionPerformed(ActionEvent e) {
// if(e.getSource()==jButton){
// try{
// Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");//加载数据库驱动
// Connection conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;Database=denglu","sa","123456");//链接数据库
// Statement statement=conn.createStatement();
// ResultSet rs = statement.executeQuery("select * from denglu ");
// while(rs.next()){
// col11= rs.getString("zhanghao");
// col12 = rs.getString("mima");
// if(textField1.getText()==col11){
// if(textField2.getText()==col12){
// liaotian m=new liaotian();
//
// }
// }
// }
// conn.close();
// }catch(Exception ex){
// ex.printStackTrace();
// }
// }
if(textField1.getText().equals(col11)){//字符串比较要用equals。不能用==因为没数据库,把里面的代码摘出来了。
if(textField2.getText().equals(col12)){
liaotian m=new liaotian();
}
}
}
java字符串比较用equals