Я сделал некоторые основные настольные приложения, используя Java Swing. Однако я хочу использовать свои навыки для разработки более сложного приложения, которое включает аутентификацию пользователя. Я хочу иметь окно открытия, которое будет содержать JTextField
s, чтобы принять имя пользователя и пароль пользователя. При успешной аутентификации (проверка данных пользователя в базе данных) я хочу, чтобы появилось новое окно, содержащее некоторую информацию о пользователе. Как я могу добиться этого эффекта нескольких окон с помощью Swing? Спасибо!Многооконное приложение с Java Swing
-1
A
ответ
2
Процитировать Синий Питер: «Вот один, который я сделал раньше». Я реализовал его как JPanel
, а затем встроил его в JDialog
в методе main
. Обратите внимание, что есть крючок, чтобы поле пароля получало фокус при первом отображении диалога.
class LoginPanel extends JPanel {
private final JTextField userNameTxtFld;
private final JPasswordField passwordFld;
public LoginPanel() {
super(new GridBagLayout()); // GridBagLayout: Not everyone's bag.
this.userNameTxtFld = new JTextField(12);
this.passwordFld = new JPasswordField(12);
userNameTxtFld.setText(System.getProperty("user.name"));
GridBagConstraints gbc = new GridBagConstraints();
gbc.anchor = GridBagConstraints.WEST;
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.insets = INSETS;
gbc.ipadx = 0;
gbc.ipady = 0;
gbc.weightx = 0.0;
gbc.weighty = 0.0;
gbc.gridx = 0;
gbc.gridy = 0;
int row = 0;
addLabelledComponent("User Name:", userNameTxtFld, this, gbc, 0, row++);
//noinspection UnusedAssignment
addLabelledComponent("Password:", passwordFld, this, gbc, 0, row++);
}
private boolean gainedFocusBefore;
void gainedFocus() {
if (!gainedFocusBefore) {
gainedFocusBefore = true;
passwordFld.requestFocusInWindow();
}
}
String getUserName() {
return userNameTxtFld.getText();
}
String getPassword() {
return new String(passwordFld.getPassword());
}
void reset() {
passwordFld.setText("");
}
public static void main(String[] args) {
final LoginPanel pnl = new LoginPanel();
JOptionPane op = new JOptionPane(pnl, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
JDialog dlg = op.createDialog("Login");
dlg.addWindowFocusListener(new WindowFocusListener() {
@Override
public void windowGainedFocus(WindowEvent e) {
pnl.gainedFocus();
}
@Override
public void windowLostFocus(WindowEvent e) {
}
});
dlg.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
dlg.setVisible(true);
System.exit(0);
}
}
2
- Создать
JDialog
, который запрашивает детали пользователя. - Показать диалог.
- Получить учетные данные из диалогового окна *.
- Аутентификация.
- Создайте
JFrame
для вашего приложения. - Показать раму.
* Не проверяйте подлинность в диалоговом окне, просто держите свой пользовательский интерфейс в выполнении пользовательского интерфейса.
Смежные вопросы
- 1. WPF Как создать многооконное приложение?
- 2. Android N - Приложение не поддерживает многооконное окно
- 3. java swing одно приложение
- 4. Перезапустить приложение Java Swing
- 5. Увеличить приложение Java Swing
- 6. Java Swing, приложение или апплет?
- 7. Приложение Java Swing неожиданно прекращается
- 8. Как развернуть приложение java swing
- 9. Приложение Java swing не запускается
- 10. Приложение C3P0 и Java Swing
- 11. java swing приложение с пользовательским заголовком?
- 12. Java-приложение с Swing и веб-графикой
- 13. Многоуровневое приложение Java EE с клиентом Swing
- 14. java swing checkboxes java swing
- 15. Как сделать многооконное приложение в android api 6.0
- 16. Swing, Java GWT, сервлеты (веб-приложение)
- 17. Приложение для управления Java Swing по Bluetooth
- 18. Преобразование Java Swing в веб-приложение
- 19. Как закрыть приложение Java Swing из кода
- 20. Как реализовать приложение java awt/swing
- 21. Подождите, пока приложение не запустится Java swing
- 22. Call Swing Java-приложение из PHP-скрипта
- 23. Java Swing - однопользовательское приложение для многопользовательского приложения
- 24. Вложение карт в приложение java swing
- 25. Java swing ubuntu приложение не загружает sqlite
- 26. Приложение для Java-приложений: SWT против Swing
- 27. Вызов метода ModelToView() Замораживает приложение Java Swing
- 28. Почему приложение Swing останавливает мой Java-сервлет?
- 29. исключение в Java swing приложение action listener
- 30. Почему приложение Java swing плохо работает?
Что вы пытались и с какой проблемой вы сталкиваетесь? –
Похоже, вам нужно создать пользовательский диалог для выполнения того, что вы хотите. JDialog должен быть полезен или использовать JInternalFrame в JDesktopPane. Они также являются хорошими решениями. –
Используйте диалоговые окна для имени пользователя и пароля с кнопкой внизу, чтобы отправить их. – Shrey