[問題] GUI+流程控制新手問題

看板java作者 (Zap)時間11年前 (2014/04/06 00:43), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
想設計程式開啟後 先跳出一個視窗來要求輸入密碼 密碼正確後再叫出真正要用的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://www.ptt.cc/bbs/java/M.1396716188.A.B10.html

04/06 18:38, , 1F
把lb和pwd放進一個新的JPanel裡面 再依照條setVisible()
04/06 18:38, 1F

04/06 18:52, , 2F
然後記得重繪
04/06 18:52, 2F

04/06 20:16, , 3F
密碼正確->最後一行插入「this.dispose();」釋放自己
04/06 20:16, 3F

04/07 22:21, , 4F
感謝樓上 修改好了
04/07 22:21, 4F
文章代碼(AID): #1JG3ASiG (java)
文章代碼(AID): #1JG3ASiG (java)