Javaで簡単な警告メッセージを表示する方法は?


128

.NETから来ているので、デスクトップアプリでAlert()を呼び出すのに慣れています。ただし、このJavaデスクトップアプリでは、「Javaをご利用いただきありがとうございます」というメッセージを表示したいだけです。

(JOptionPaneを使用)

もっと簡単な方法はありますか?


10
「より簡単」に正確に何を期待しますか?冗長である場合は、たとえば、静的なユーティリティメソッドでラップして非表示にしないでください。ちなみに公式チュートリアルはこちらです。
BalusC、2012

5
:あなたが代わりにすぐに文句が続く12歳のチュートリアルのドキュメントを読んでいる場合は、そこの[ちょうど2つのパラメータを持つオーバーロードを見つけるだろう docs.oracle.com/javase/7/docs/api/javax/swing/...を、 java.lang.Object)。(最初のものはnullの可能性があります。)
ミリムース

回答:


240

私は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");

34
冗長性に問題はありません。実際、私はその強みの1つと考えています。
mre

14
@mreこれは冗談だと思いますか、それとも「冗長」と誤解していますか?
ドナル・

36
@mre秘書職に移行するためにタイピングの練習が必要でない限り、冗長性がどの程度望ましいかはわかりません。
ドナル・

5
@Dónalいくつかの単純なことが機能するためにコードのページ全体を必要とするとき、それは本当に人々のためにたくさんの余分な仕事を作成します!:)
Evgeni Sergeev

5
第二のバージョンを使用する@Alids、あなたが輸入に以下を追加する必要があるimport static javax.swing.JOptionPane.showMessageDialog
ドナル


31

「冗長性」が気に入らない場合は、常に短いメソッドでコードをラップできます。

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

そして使用法:

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

24

Swingをインポートしなくても、長い文字列の呼び出しを1つにまとめることができます。それ以外の場合は、swingインポートと単純な呼び出しを使用します。

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

簡単です。


6

「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)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.