即時通訊創建一個Java應用程序與NetBeans。我有兩個用於登錄和主應用程序的jframes。我想要做的是在運行時加載登錄jframe,然後在用戶認證正確時加載主應用程序jframe。在主應用程序jframe已經加載之後,必須銷燬登錄jframe的實例。另外,我希望將來自登錄jframe的用戶信息傳遞給主應用程序jframe。我如何實現這個目標?多個JFrames
2
A
回答
1
擴展JFrame以創建主框架。在此添加一個構造函數來接受用戶信息。
從登錄屏幕上,當驗證成功時,通過傳遞登錄信息創建Main框架的一個實例。在登錄框架上調用dispose()並在主框架上調用setVisible(true)
。
MainFrame mainFrame = new MainFrame(userInput.getText());
this.dispose();
mainFrame.setVisible(true);
3
我建議以下簡單的方法,從而創建類來表示您的登錄面板和主應用程序框架。在這個例子中,我創建了一個登錄面板,而不是一個框架,以允許它嵌入模態對話框中。
// Login panel which allows user to enter credentials and provides
// accessor methods for returning them.
public class LoginPanel extends JPanel {
public String getUserName() { ... }
public String getPassword() { ... }
}
// Main applicaiton frame, initialised with login credentials.
public class MainFrame extends JFrame {
/**
* Constructor that takes login credentials as arguments.
*/
public MainFrame(String userName, String password) { ...}
}
// "Bootstrap" code typically added to your main() method.
SwingUtilities.invokeLater(new Runnable() {
public void run() {
LoginPanel loginPnl = new LoginPanel();
// Show modal login dialog. The code following this will
// only be executed when the dialog is dismissed.
JOptionPane.showMessageDialog(null, loginPnl);
// Construct and show MainFrame using login credentials.
MainFrame frm = new MainFrame(loginPnl.getUserName(), loginPnl.getPassword());
frm.setVisible(true);
}
});
相關問題
- 1. 多JFrames
- 2. 使用許多jFrames
- 3. 用於遊戲場景的多個JFrames
- 4. 級聯JFrames以打開多個窗口
- 5. java JFrames
- 6. 如何合併2個JFrames?
- 7. JFrames和JPanels
- 8. 自毀式JFrames
- 9. 使用JFrames
- 10. 內部JFrames
- 11. 開關JFrames
- 12. JFrames的子類
- 13. 使用JFrames
- 14. 用我的JAVA代碼獲取多個JFrames
- 15. 關閉1 jframe與多個jframes活動不起作用
- 16. 創建具有偏移重疊的多個JFrames
- 17. 使用jFrames數組?
- 18. 檢查活躍JFrames
- 19. 兩個JFrames在同一時間運行
- 20. JPanel使用2個不同的JFrames
- 21. 用Windows事件關閉JFrames
- 22. 的Java GUI - JPanels,JFrames,Jbutton將
- 23. 通過JFrames傳輸數據
- 24. 的Java裏面搜索JFrames
- 25. 應該繼承GUI JFrames嗎?
- 26. 從JFrames傳遞信息
- 27. 關於JFrames的問題
- 28. 在JFrames之間切換
- 29. java-GUI-連接Jpanels或Jframes
- 30. JFrames之間的溝通
您可能需要考慮在登錄窗口中使用JDialog而不是JFrame。 – Kylar 2010-02-22 19:10:50