首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JOptionPane.showInputDialog中的多个输入

JOptionPane.showInputDialog中的多个输入
EN

Stack Overflow用户
提问于 2011-07-02 12:01:31
回答 2查看 164.4K关注 0票数 65

有没有办法在JOptionPane.showInputDialog中创建多个输入而不是只有一个输入?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-02 12:05:33

是。您知道,可以将任何Object放入大多数JOptionPane.showXXX methodsObject参数中,而且该Object通常是一个JPanel

在您的情况下,也许可以使用包含多个JTextFieldsJPanel

代码语言:javascript
复制
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());
      }
   }
}
票数 139
EN

Stack Overflow用户

发布于 2013-02-28 17:41:20

这是我的解决方案

代码语言:javascript
复制
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");
}
票数 36
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6555040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档