作者BlackZap (Zap)
看板java
标题[问题] GUI+流程控制新手问题
时间Sun Apr 6 00:43:04 2014
想设计程式开启後
先跳出一个视窗来要求输入密码
密码正确後再叫出真正要用的GUI部分
目前写法
主程式呼叫passwordcheck()
public passwordcheck() { //要求输入密码的GUI
getContentPane().setLayout(new FlowLayout());
JLabel lb = new JLabel("输入密码 ");
final JPasswordField pwd = new JPasswordField(12);
this.add(lb);
this.add(pwd);
this.setVisible(true);
this.setSize(300, 200);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
pwd.addActionListener(new ActionListener(){ //输入反应部分
//@Override
public void actionPerformed(ActionEvent arg0) {
try {readpassword();//抓我之前存的密码的副程式
//密码存在ckey
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String key=new String(pwd.getPassword()); //输入的密码存在key
if(ckey.equals(key)) //确认密码是否正确
{
JOptionPane.showMessageDialog(null,"密码正确");
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
//正确的话去叫我要开的程式
calculatorGUI frame = new calculatorGUI();
frame.setVisible(true);
}
catch (Exception e) { e.printStackTrace();}
}
});
}
else
JOptionPane.showMessageDialog(null,密码错误);
}
}});
}
目前结果会是 密码正确->会去叫calculatorGUI()
但原本的输入密码介面会留在那
想要设计成
密码正确时叫完calculatorGUI() 输入密码介面会自己关掉
但流程不知道怎麽设计比较好
是不是不该把呼叫写在passwordcheck()中啊?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.162.189.223
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/java/M.1396716188.A.B10.html
1F:推 morris282:把lb和pwd放进一个新的JPanel里面 再依照条setVisible() 04/06 18:38
2F:→ morris282:然後记得重绘 04/06 18:52
3F:推 pzyc79:密码正确->最後一行插入「this.dispose();」释放自己 04/06 20:16
4F:→ BlackZap:感谢楼上 修改好了 04/07 22:21