【问题标题】:How to change Yes/No option in confirmation dialog?如何在确认对话框中更改是/否选项?
【发布时间】:2013-08-19 14:39:06
【问题描述】:

我想将“是”和“否”更改为“同意/不同意”之类的内容。 我该怎么办?

int reply = JOptionPane.showConfirmDialog(null,
                                          "Are you want to continue the process?",
                                          "YES?",
                                          JOptionPane.YES_NO_OPTION);

【问题讨论】:

标签: java swing jbutton joptionpane


【解决方案1】:

您可能想签出JOptionPane.showOptionDialog,它可以让您输入一个文本参数(以数组形式)。

【讨论】:

    【解决方案2】:

    试试这个:

    JOptionPane documentation

    JOptionPane(Object message, int messageType, int optionType,
            Icon icon, Object[] options, Object initialValue)
    

    其中 options 指定具有 initialValue 的按钮。所以你可以改变它们

    示例

    Object[] options = { "Agree", "Disagree" };
    
    JOptionPane.showOptionDialog(null, "Are you want to continue the process?", "information",
    JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE,
    null, options, options[0]);
    

    【讨论】:

      【解决方案3】:

      您可以使用options参数将自定义选项推送到showOptionDialog

      Object[] options = { "Agree", "Disagree" };
      JOptionPane.showOptionDialog(null, "These are my terms", "Terms",
          JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE, null, 
          options, options[0]);
      

      【讨论】:

      • 它可以为 JOptionPane.showOptionDialog 工作和更改,但我想为 JOptionPane.showConfirmDialog 更改它是否相同?
      【解决方案4】:

      您可以执行以下操作

      JFrame frame = new JFrame();
      String[] options = new String[2];
      options[0] = "Agree";
      options[1] = "Disagree";
      JOptionPane.showOptionDialog(frame.getContentPane(), "Message!", "Title", 0, JOptionPane.INFORMATION_MESSAGE, null, options, null);
      

      输出如下

      有关 showOptionDialog() 函数的更多详细信息,请参阅here

      【讨论】:

      • 是的,这是按预期工作的,但是有没有办法改变“同意”和“不同意”按钮的字体?我想国际化我的应用程序。
      【解决方案5】:

      试试这个!!

      int res = JOptionPane.showConfirmDialog(null, "Are you want to continue the process?", "", JOptionPane.YES_NO_OPTION);
              switch (res) {
                  case JOptionPane.YES_OPTION:
                  JOptionPane.showMessageDialog(null, "Process Successfully");
                  break;
                  case JOptionPane.NO_OPTION:
                  JOptionPane.showMessageDialog(null, "Process is Canceled");
                  break;
              }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-16
        • 1970-01-01
        • 2016-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-10
        相关资源
        最近更新 更多