Gdy użytkownik kliknie przycisk, chcę pokazać formularz popup, który powinien mieć co najmniej dwa JTextFields i dwa JLabels, więc używanie JOptionPane.showInputDialog
nie jest możliwe.Prosta wyskakująca forma java z co najmniej dwoma polami
14
A
Odpowiedz
39
Powinieneś rozważyć przynajmniej jedną z metod JOptionPane
, takich jak showInputDialog()
lub showMessageDialog()
.
Dodatek: Wybór opcji użycia JOptionPane
zależy bardziej od stosowności modalności niż od liczby pokazanych komponentów. Zobacz także How to Make Dialogs.
Dodatek: jak zauważono w komentarzu @camickr, można ustawić fokus na konkretny komponent, stosując podejście omówione w Dialog Focus, cytowane here.
package gui;
import java.awt.EventQueue;
import java.awt.GridLayout;
import javax.swing.*;
/** @see https://stackoverflow.com/a/3002830/230513 */
class JOptionPaneTest {
private static void display() {
String[] items = {"One", "Two", "Three", "Four", "Five"};
JComboBox<String> combo = new JComboBox<>(items);
JTextField field1 = new JTextField("1234.56");
JTextField field2 = new JTextField("9876.54");
JPanel panel = new JPanel(new GridLayout(0, 1));
panel.add(combo);
panel.add(new JLabel("Field 1:"));
panel.add(field1);
panel.add(new JLabel("Field 2:"));
panel.add(field2);
int result = JOptionPane.showConfirmDialog(null, panel, "Test",
JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE);
if (result == JOptionPane.OK_OPTION) {
System.out.println(combo.getSelectedItem()
+ " " + field1.getText()
+ " " + field2.getText());
} else {
System.out.println("Cancelled");
}
}
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
display();
}
});
}
}
Powiązane problemy
- 1. Fundament 6 z szynami Prosta forma
- 2. Prosta forma - szyny 4 - edycja
- 3. Get wiersze z co najmniej dwoma niezerowej Kolumny
- 4. Jak sprawdzać poprawność formularza z wieloma polami wyboru, aby mieć co najmniej jedną zaznaczoną
- 5. Szyny prosta forma daje błąd InvalidAuthenticityToken
- 6. Grupa dwoma polami następnie zsumowanie BigDecimal
- 7. Czy istnieje sposób utworzenia pytania z dwoma polami wprowadzania?
- 8. Liczba dni między dwoma polami datepicker jquery z dostosowanymi ustawieniami
- 9. C# parametry z co najmniej jedną wartością
- 10. Realm Java porządek z wieloma polami
- 11. Wyskakująca wiadomość JQuery
- 12. Wybierz co najmniej dwiema datami
- 13. Co oznacza najmniej znaczący bajt?
- 14. Korzystanie z ParamArray, ale wymagające co najmniej jeden parametr
- 15. Która forma połączenia z pika
- 16. Jak wysłać powiadomienie push z niestandardowymi polami z Java?
- 17. Konstruktor Java "niezmiennej klasy" z wieloma polami z wartościami domyślnymi?
- 18. Wyrażenie regularne dla co najmniej jednego numeru
- 19. Co najmniej dwa PathParts powiązane (Catalyst)
- 20. laravel „co najmniej jeden” Pole Wymagane Validation
- 21. Co to jest forma tablicy "usuń"?
- 22. mysqli_query spodziewa się co najmniej 2 Parametry
- 23. Pętla nad wszystkimi polami w klasie Java
- 24. Prosty Regeks, dopasuj dowolny ciąg z co najmniej jednym łącznikiem
- 25. Co najmniej jeden pakiet jest niekompatybilny z .NETStandard, Version = v1.5
- 26. Waliduj użytkownik musi zainstalować co najmniej jeden z podrzędnych funkcji
- 27. elasticsearch porównanie pomiędzy polami
- 28. prosta pętla z data.table
- 29. prosta komunikacja z serwerem klienta między java i php
- 30. formy szkieletowe z polami warunkowymi
Niestety o początkowej pomylenia odpowiedzi i przykład. – trashgod
Jak mogę odzyskać dane wejściowe? – nunos
Rozwinąłem powyższe i dodałem link do samouczka. – trashgod