im создание приложения Java с netbeans. У меня есть два jframes для входа и основного приложения. то, что я хочу сделать, - загрузить загрузочный jframe во время выполнения, а затем загрузить основной jframe приложения, когда аутентификация пользователя верна. экземпляр jframe входа должен быть уничтожен после того, как основное приложение jframe уже загружено. Кроме того, я хочу, чтобы информация пользователя из логина jframe передавалась в основное приложение jframe. как это сделать?Несколько JFrames
2
A
ответ
1
Расширение JFrame для создания основной рамы. Добавьте конструктор в это, чтобы принять пользовательскую информацию.
На экране входа в систему, когда аутентификация завершается успешно, создайте экземпляр основного кадра, передав информацию для входа. Invoke 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 с actionListeners
- 3. Несколько JFrames от JAR
- 4. Как перекрасить несколько JFrames
- 5. JFrames внутри JFrames
- 6. Добавить JPanel в несколько JFrames
- 7. Несколько JFrames в одном приложении
- 8. Несколько приложений JFrames + проблемы с сборщиками мусора
- 9. Переключение JFrames
- 10. java JFrames
- 11. Замена для нескольких JFrames
- 12. MVC и JFrames
- 13. LinkedList и jFrames
- 14. Как слить 2 JFrames?
- 15. Заблокирована база данных при попытке открыть несколько jframes
- 16. self-destructive JFrames
- 17. Java GUI с JFrames
- 18. JFrames painting over eachother
- 19. Связь между двумя JFrames
- 20. Общаться между JFrames
- 21. images in Java JFrames
- 22. Как переключаться между JFrames
- 23. Связывание различных JFrames
- 24. Подкласс с JFrames
- 25. SwingWorker В многопоточных Jframes
- 26. JFrames load blank
- 27. Многопоточность в JFrames
- 28. Использование массива jFrames?
- 29. Передача данных через JFrames
- 30. Переключение между несколькими JFrames
Возможно, вы захотите использовать JDialog вместо JFrame для окна входа в систему. – Kylar