看板 java 關於我們 聯絡資訊
想設計程式開啟後 先跳出一個視窗來要求輸入密碼 密碼正確後再叫出真正要用的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
morris282:把lb和pwd放進一個新的JPanel裡面 再依照條setVisible() 04/06 18:38
morris282:然後記得重繪 04/06 18:52
pzyc79:密碼正確->最後一行插入「this.dispose();」釋放自己 04/06 20:16
BlackZap:感謝樓上 修改好了 04/07 22:21