【问题标题】:How to present a simple alert message in java?如何在 Java 中呈现简单的警报消息?
【发布时间】:2012-02-25 12:42:41
【问题描述】:

来自 .NET,我非常习惯在桌面应用程序中调用 Alert()。然而,在这个 java 桌面应用程序中,我只想提醒一条消息说“感谢您使用 java”,我必须经历这么多的痛苦:

(使用 JOptionPane)

有没有更简单的方法?

【问题讨论】:

  • 您对“更简单”的期望是什么?如果它是冗长的,为什么不将它包装在一些静态实用程序方法中并将其隐藏起来,例如?对了,官方教程是here
  • 如果您阅读文档而不是 12 年前的教程,然后立即抱怨,您会发现 [只有两个参数的重载:docs.oracle.com/javase/7/docs/api/javax/swing/…,java.lang.Object)。 (其中第一个可能为空。)

标签: java swing joptionpane


【解决方案1】:

可以像 javascript 一样简单地使用这段代码:

void alert(String str){
        JOptionPane.showMessageDialog(null, str);
    }

【讨论】:

    【解决方案2】:

    我会第一个承认 Java 可能非常冗长,但我不认为这是不合理的:

    JOptionPane.showMessageDialog(null, "My Goodness, this is so concise");
    

    如果您使用以下方式静态导入javax.swing.JOptionPane.showMessageDialog

    import static javax.swing.JOptionPane.showMessageDialog;
    

    这进一步简化为

    showMessageDialog(null, "This is even shorter");
    

    【讨论】:

    • 冗长没有错。事实上,我认为这是它的优势之一。
    • @mre 我猜这要么是个玩笑,要么你误解了“冗长”?
    • @mre 除非您需要打字练习才能过渡到秘书工作,否则我不认为冗长是可取的。
    • @Dónal 当一些简单的事情需要一整页代码才能工作时,这确实为人们创造了大量额外的工作! :)
    • 嗯,一个关于冗长的论点可以从一个反例中获得——我之前已经花了相当多的时间试图解开单个紧凑行的含义。简短有时会以可读性为代价。当然,冗长不会自动赋予可读性。
    【解决方案3】:

    如果您不喜欢“冗长”,您可以随时将代码包装在一个简短的方法中:

    private void msgbox(String s){
       JOptionPane.showMessageDialog(null, s);
    }
    

    及用法:

    msgbox("don't touch that!");
    

    【讨论】:

      【解决方案4】:

      调用“setWarningMsg()”方法并传递你要显示的文本。

      exm:- setWarningMsg("thank you for using java");
      
      
      public static void setWarningMsg(String text){
          Toolkit.getDefaultToolkit().beep();
          JOptionPane optionPane = new JOptionPane(text,JOptionPane.WARNING_MESSAGE);
          JDialog dialog = optionPane.createDialog("Warning!");
          dialog.setAlwaysOnTop(true);
          dialog.setVisible(true);
      }
      

      或者直接使用

      JOptionPane optionPane = new JOptionPane("thank you for using java",JOptionPane.WARNING_MESSAGE);
      JDialog dialog = optionPane.createDialog("Warning!");
      dialog.setAlwaysOnTop(true); // to show top of all other application
      dialog.setVisible(true); // to visible the dialog
      

      您可以使用 JOptionPane。 (WARNING_MESSAGE 或 INFORMATION_MESSAGE 或 ERROR_MESSAGE)

      【讨论】:

        【解决方案5】:

        即使不导入swing,你也可以一次接听电话,不管它很长,字符串。否则只需使用 swing 导入和简单调用:

        JOptionPane.showMessageDialog(null, "Thank you for using Java", "Yay, java", JOptionPane.PLAIN_MESSAGE);
        

        很简单。

        【讨论】:

          【解决方案6】:

          假设你已经有一个 JFrame 来调用它:

          JOptionPane.showMessageDialog(frame, "thank you for using java");
          

          The Java Tutorials: How to Make Dialogs
          the JavaDoc

          【讨论】:

          • 如果您没有可用的JFrame,第一个参数可以是null
          • 注意(它可能关注的对象):JOptionPanejavax.swing
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多