本人刚学,程序不怎么规范,大家帮我看看,MAIN入口是RUN.JAVA里,实例化了LOGIN.JAVA在LOGIN里有个“确定”按钮点它检查密码正确话就打开另一个JFRAME (实例化mainwindow.java),问题在于打开mainwindow窗口,我就是不能关掉或隐藏login窗口,头真大了。。谁帮我看看代码哪有问题,谢谢各位了 ,在线等
代码:
run.java:
import view.*; public class run {
public static void main(String[] args) { login exe=new login();
}
} login.java: package view; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.Spring; import db.beanx; import java.awt.*;
import java.awt.event.*;
import java.sql.ResultSet;
import java.sql.SQLException;
public class login extends JFrame implements ActionListener {
JPasswordField p1;
beanx db;
JFrame w1; public login(){
db=new beanx();
JFrame w1=new JFrame("login");
JLabel l1=new JLabel("口令输入:",10);
p1=new JPasswordField(20);
JPanel pan1=new JPanel();
JPanel pan2=new JPanel();
JButton b1=new JButton("确定");
JButton b2=new JButton("取消");
pan1.setSize(500, 200);
pan2.setSize(200,100);
pan1.add(l1);
pan1.add(p1);
pan2.add(b1);
pan2.add(b2);
w1.add(pan1,BorderLayout.NORTH);
w1.add(pan2);
b1.addActionListener(this);
b2.addActionListener(this);
w1.addWindowListener(new closeWin());
w1.setSize(500, 200);
w1.setVisible(true); w1.setLocation(400,50);
} public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="确定") //主要就是这里的问题感觉
{ String pw,sql;
ResultSet rs;
pw=p1.getText();
sql="select pw from pw;";
rs=db.Query(sql);
try { try {
rs.next();
} catch (Exception e2) { }
System.out.println(pw);
if(rs.getString("pw").equals(pw))
{ try {
setVisible(false);
dispose(); } catch (Exception e2) {
System.out.println("exception");
}
mainwindow mainwin=new mainwindow();
} } catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if(e.getActionCommand()=="取消")
{dispose();
System.exit(0);} } }
class closeWin extends WindowAdapter{
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub JFrame frn=(JFrame)(e.getSource());
frn.dispose();
System.exit(0);
} }
代码:
run.java:
import view.*; public class run {
public static void main(String[] args) { login exe=new login();
}
} login.java: package view; import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
import javax.swing.Spring; import db.beanx; import java.awt.*;
import java.awt.event.*;
import java.sql.ResultSet;
import java.sql.SQLException;
public class login extends JFrame implements ActionListener {
JPasswordField p1;
beanx db;
JFrame w1; public login(){
db=new beanx();
JFrame w1=new JFrame("login");
JLabel l1=new JLabel("口令输入:",10);
p1=new JPasswordField(20);
JPanel pan1=new JPanel();
JPanel pan2=new JPanel();
JButton b1=new JButton("确定");
JButton b2=new JButton("取消");
pan1.setSize(500, 200);
pan2.setSize(200,100);
pan1.add(l1);
pan1.add(p1);
pan2.add(b1);
pan2.add(b2);
w1.add(pan1,BorderLayout.NORTH);
w1.add(pan2);
b1.addActionListener(this);
b2.addActionListener(this);
w1.addWindowListener(new closeWin());
w1.setSize(500, 200);
w1.setVisible(true); w1.setLocation(400,50);
} public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand()=="确定") //主要就是这里的问题感觉
{ String pw,sql;
ResultSet rs;
pw=p1.getText();
sql="select pw from pw;";
rs=db.Query(sql);
try { try {
rs.next();
} catch (Exception e2) { }
System.out.println(pw);
if(rs.getString("pw").equals(pw))
{ try {
setVisible(false);
dispose(); } catch (Exception e2) {
System.out.println("exception");
}
mainwindow mainwin=new mainwindow();
} } catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
if(e.getActionCommand()=="取消")
{dispose();
System.exit(0);} } }
class closeWin extends WindowAdapter{
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub JFrame frn=(JFrame)(e.getSource());
frn.dispose();
System.exit(0);
} }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货