Я хочу знать, как я могу сделать messageBox из трех окон ввода значения..
Как это:
JOptionPane.showInputMessageDialog("Enter your FirstName");
JOptionPane.showInputMessageDialog("Enter your MiddleName");
JOptionPane.showInputMessageDialog("Enter your LastName");
Но я хочу одно сообщение, имеет три поля ввода.
Создайте JPanel (предположим, что он называется inputPanel) с тремя полями JtextField для ввода, а затем выполните следующее:
if (JOptionPane.YES_OPTION == JOptionPane.showconfirmDialog(
parentComponent, inputPanel, "Enter your data", JOptionPane.YES_NO_OPTION) {
// retrieve data from the JTextFields and do things
} else {
// User close the dialog, do things... or not
}
showInputMessageDialog
и его собратья - простые способы создания простого «стандартного» диалога. Я уверен, что для более сложных диалогов вам придется создать подкласс JDialog
или что-то подобное.
Вы не можете этого сделать с JOptionPane
. Создайте JDialog
и вместо него добавьте три JTextField
. JDialog
блокирует вызывающего, когда вы вызываете setVisible (true)
, поэтому легко создать диалоговое окно, ожидающее ввода пользователя перед его возвратом.
Как предложил Telcontar, вы можете добавить компоненты Swing (например, JPanel) в панель опций. Таким образом, можно легко воспользоваться преимуществами автоматического создания кнопок, а не делать это с нуля, создавая свой собственный JDialog.
Однако есть одна небольшая проблема. Фокус будет находиться на первой кнопке, а не на первом компоненте вашей панели. Чтобы обойти эту проблему, вы можете попробовать решение, представленное в Dialog Focus.