【问题标题】:About ComboBox in JOptionPane using dialog关于使用对话框的 JOptionPane 中的 ComboBox
【发布时间】:2017-03-05 02:30:11
【问题描述】:

我想获得一个使用 joptionpane 作为组合框的对话框,我想在其中接受日、月和年的值。我希望所有这些都在一个对话框中。我是这样的:

 String[] date= {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};
    String[] month= {"1","2","3","4","5","6","7","8","9","10","11","12"};
    String[] year={"2016","2017","2018","2019","2020"};
    JComboBox jcd = new JComboBox(date);
    JComboBox jcm = new JComboBox(date);
    JComboBox jcy = new JComboBox(date);
      jcd.setEditable(true);
      jcm.setEditable(true);
      jcy.setEditable(true);
    JOptionPane.showMessageDialog( null, jcd, "Date", JOptionPane.QUESTION_MESSAGE);
    JOptionPane.showMessageDialog( null, jcm, "Month", JOptionPane.QUESTION_MESSAGE);
    JOptionPane.showMessageDialog( null, jcy, "Year", JOptionPane.QUESTION_MESSAGE);

    int resd=(int) jcd.getSelectedItem();
    int resm=(int) jcd.getSelectedItem();
    int resy=(int) jcd.getSelectedItem();

这里的问题是,我一个接一个地得到 3 个对话框,用于输入我想将其作为具有多个组合框的单个对话框的值。

【问题讨论】:

    标签: java netbeans combobox dialog joptionpane


    【解决方案1】:

    这里有一些东西可以帮助您入门。这个想法是:
    创建一个 JOptionPane
    添加并根据需要进行配置,
    使用 JDialog 显示 JOptionPane 内容:

    import java.io.IOException;
    import javax.swing.JComboBox;
    import javax.swing.JDialog;
    import javax.swing.JOptionPane;
    
    class Test {
    
    
        public static void  main(String args[]) throws IOException  {
    
    
            String[] date= {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31"};
            String[] month= {"1","2","3","4","5","6","7","8","9","10","11","12"};
            String[] year={"2016","2017","2018","2019","2020"};
            JComboBox jcd = new JComboBox(date);
            JComboBox jcm = new JComboBox(month);
            JComboBox jcy = new JComboBox(year);
    
            jcd.setEditable(true);
            jcm.setEditable(true);
            jcy.setEditable(true);
    
            //create a JOptionPane
            Object[] options = new Object[] {};
            JOptionPane jop = new JOptionPane("Please Select",
                                            JOptionPane.QUESTION_MESSAGE,
                                            JOptionPane.DEFAULT_OPTION,
                                            null,options, null);
    
            //add combos to JOptionPane
            jop.add(jcd);
            jop.add(jcm);
            jop.add(jcy);
    
            //create a JDialog and add JOptionPane to it 
            JDialog diag = new JDialog();
            diag.getContentPane().add(jop);
            diag.pack();
            diag.setVisible(true);
        }
    }
    

    【讨论】:

    • 但是如何在点击确定时检索值?
    • 我可以对齐吗?
    • "但是如何在单击确定时检索值?"这是一个不同的问题。请尝试,如果您需要帮助,请在 minimal reproducible example 上发布一个新问题
    • 我更新了代码,所以它不会显示确定按钮。 (您可能希望用户在选择值后单击确定按钮)
    • 非常感谢 :) @c0der
    猜你喜欢
    • 1970-01-01
    • 2012-12-14
    • 2011-12-09
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2015-03-08
    • 1970-01-01
    相关资源
    最近更新 更多