求大神!怎么样让登陆界面先显示,登陆成功后再进入操作界面。目前两个界面会同时显示!
import javax.swing.*;import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
public class Film implements ActionListener
{
static JFrame f = null; //类属性
public Film() //构造方法
{
f = new JFrame("电影信息管理系统"); //创建一个顶层容器
Container contentPane = f.getContentPane(); //获得其内容面板
JPanel buttonPanel = new JPanel(); //创建一中间容器JPanel
JButton b = new JButton("信息登记"); //创建一原子组件——按钮
b.addActionListener(this); //为按钮添加事件监听器对象
buttonPanel.add(b); //将此按钮添加到中间容器
b = new JButton("信息删除"); //再创建一按钮
b.addActionListener(this); //为按钮增加事件监听器
buttonPanel.add(b); //将按钮添加到中间容器
b = new JButton("信息修改"); //再创建一按钮
b.addActionListener(this); //为按钮增加事件监听器
buttonPanel.add(b); //将按钮添加到中间容器
b = new JButton("信息查询"); //再创建一按钮
b.addActionListener(this); //为按钮增加事件监听器
buttonPanel.add(b); //将按钮添加到中间容器
b = new JButton("退出系统"); //再创建一按钮
b.addActionListener(this); //为按钮增加事件监听器
buttonPanel.add(b); //将按钮添加到中间容器
buttonPanel.setBorder(BorderFactory.createTitledBorder( //设置中间容器边框
BorderFactory.createLineBorder(Color.blue,3),
"电影信息操作界面",TitledBorder.CENTER,TitledBorder.TOP));
contentPane.add(buttonPanel,BorderLayout.CENTER); //将中间容器添加到内容面板
JMenuBar mBar=new JMenuBar(); //创建菜单条
JMenu selection=new JMenu("选项");
JMenuItem regist=new JMenuItem("信息登记");
JMenuItem delete=new JMenuItem("信息删除");
JMenuItem sum=new JMenuItem("统计");
selection.add(regist);
selection.add(delete);
selection.add(sum);
JMenu sys=new JMenu("系统");
JMenuItem exit=new JMenuItem("退出系统");
sys.add(exit);
mBar.add(selection);
mBar.add(sys);
f.setJMenuBar(mBar); //为窗体增加菜单
regist.addActionListener(this); //为菜单添加事件监听器
delete.addActionListener(this);
sum.addActionListener(this);
exit.addActionListener(this);
f.pack();
f.setVisible(true);
f.addWindowListener(new WindowAdapter() { //为窗口操作添加监听器
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
public void actionPerformed(ActionEvent e) { //实现ActionListener接口唯一的方法
String cmd = e.getActionCommand(); //从事件对象获得相关命令名称
if (cmd.equals("信息登记")) { //根据名称选择相应事件
new RegistSystem(f); //显示电影信息登记对话框
} else if (cmd.equals("退出系统")) {
System.exit(0);
} else if (cmd.equals("统计")){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //加载驱动器
Connection con=
DriverManager.getConnection("jdbc:odbc:FILM","Test","123456");
//和数据库建立连接
Statement stmt=con.createStatement(); //创建语句
ResultSet rs=stmt.executeQuery("Select * From film");
int i=0;
while(rs.next ()) i=i+1;
JOptionPane.showMessageDialog(f,"共有"+i+"部电影信息"); //显示信息对话框
stmt.close ();
con.close (); //关闭到数据库的连接
}
catch(Exception ex){}
}
}
public static void main(String args[]){ //主方法,用于创建Film类的一个对象
new Film();
new PassWord(f); //新建一输入密码对话框
}
}
class PassWord implements ActionListener //输入密码对话框类
{
JTextField user;
JPasswordField passWd;
JButton b1,b2;
Container dialogPane;
JDialog d;
JFrame f;
public PassWord(JFrame f) {
d=new JDialog(); //新建一对话框
d.setTitle("请输入用户名和密码"); //设置标题
dialogPane=d.getContentPane();
dialogPane.setLayout(new GridLayout(3,2));
dialogPane.add(new JLabel("用户名",SwingConstants.CENTER));
user=new JTextField();
dialogPane.add(user);
dialogPane.add(new JLabel("密 码",SwingConstants.CENTER));
passWd=new JPasswordField();
dialogPane.add(passWd);
b1=new JButton("确定");
b2=new JButton("退出");
dialogPane.add(b1);
dialogPane.add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
d.setBounds(200,150,400,130);
d.getRootPane().setDefaultButton(b1);
d.setVisible(true);
this.f=f;
}
public void actionPerformed(ActionEvent e){
String cmd=e.getActionCommand();
if(cmd.equals("确定"))
{
String name=user.getText();
char[] c=passWd.getPassword();
String passWord=new String(c);
if((name.equals("123"))&&(passWord.equals("123")))
{
d.dispose();
f.setVisible(true);
return;
}
else
{
JOptionPane.showMessageDialog(d,"用户名或密码错误","请重新输入",JOptionPane.WARNING_MESSAGE);
user.setText("");
passWd.setText("");
}
}
if(cmd.equals("退出"))
System.exit(0);
}
}
目前运行结果:两界面同时显示,都可以进行操作
求大神!怎么样让登陆界面先显示,登陆成功后再进入操作界面!代码要怎么修改?