JOptionPane showOptionDialog

新手上路,请多包涵

我想使用具有两个按钮的 JOptionPane 创建一个 showOptionDialog:公制和英制。

如果说,Metric 被点击,Metric GUI 将加载。相反,如果单击 Imperial,则将加载 Imperial GUI。

我该怎么做呢?

原文由 Jonny Stewart 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 476
2 个回答
int choice = JOptionPane.showOptionDialog(null, //Component parentComponent
                               "Metric or Imperial?", //Object message,
                               "Choose an option", //String title
                               JOptionPane.YES_NO_OPTION, //int optionType
                               JOptionPane.INFORMATION_MESSAGE, //int messageType
                               null, //Icon icon,
                               {"Metric","Imperial"}, //Object[] options,
                               "Metric");//Object initialValue
if(choice == 0 ){
   //Metric was chosen
}else{
   //Imperial was chosen
}

原文由 gadeynebram 发布,翻译遵循 CC BY-SA 3.0 许可协议

Object[] options = {"Metric","Imperial"};
int n = JOptionPane.showOptionDialog(null,
            "A Message",
            "A Title",
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.DEFAULT_OPTION,
            null,
            options,
            options[1]);

System.out.println(n);

JFrame metric = new JFrame("Metric");
metric.setBounds(0, 0, 320, 240);

JFrame imperial = new JFrame("Imperial");
imperial.setBounds(0, 0, 320, 240);

if(n==0){
     metric.setVisible(true);
}else if(n==1){
    imperial.setVisible(true);
}else{
    System.out.println("no option choosen");
}

原文由 droidchef 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏