JOptionPane.showInputDialog中的多个input
有没有办法在JOptionPane.showInputDialog
创build多个input,而不是只有一个input?
是。 您知道,您可以将任何Object
放入大多数JOptionPane.showXXX methods
的Object
参数中,并且通常该Object
恰好是JPanel
。
在你的情况下,也许你可以使用一个有几个JTextFields
的JPanel
:
import javax.swing.*; public class JOptionPaneMultiInput { public static void main(String[] args) { JTextField xField = new JTextField(5); JTextField yField = new JTextField(5); JPanel myPanel = new JPanel(); myPanel.add(new JLabel("x:")); myPanel.add(xField); myPanel.add(Box.createHorizontalStrut(15)); // a spacer myPanel.add(new JLabel("y:")); myPanel.add(yField); int result = JOptionPane.showConfirmDialog(null, myPanel, "Please Enter X and Y Values", JOptionPane.OK_CANCEL_OPTION); if (result == JOptionPane.OK_OPTION) { System.out.println("x value: " + xField.getText()); System.out.println("y value: " + yField.getText()); } } }
这是我的解决scheme
JTextField username = new JTextField(); JTextField password = new JPasswordField(); Object[] message = { "Username:", username, "Password:", password }; int option = JOptionPane.showConfirmDialog(null, message, "Login", JOptionPane.OK_CANCEL_OPTION); if (option == JOptionPane.OK_OPTION) { if (username.getText().equals("h") && password.getText().equals("h")) { System.out.println("Login successful"); } else { System.out.println("login failed"); } } else { System.out.println("Login canceled"); }
- 在JSP ELexpression式中获得Spring Security Principal
- 在Ubuntu 11.10上安装IDEA
- SwingUtilities.invokeLater是做什么的?
- Android的 – 如何dynamic更改菜单项文字onOptionsItemsSelected或onCreateOptionsMenu之外
- 无法在Eclipse中执行dex:GC开销限制
- 我应该严格避免在Android上使用枚举吗?
- 在Java中,有没有办法写一个string文字而不必转义引号?
- 如何解决SSL证书服务器名称/我可以使用keytool添加替代名称?
- 这是什么date格式? 2011-08-12T20:17:46.384Z