JOptionPaneの使い方を説明します。まず下のプログラムをみてみてください。
int value = JOptionPane.showConfirmDialog (this, "新規作成する前に保存しますか?", "データーの保存", JOptionPane.YES_NO_CANCEL_OPTION);
if (value == JOptionPane.YES_OPTION) {

try{
FileOutputStream fo = new FileOutputStream( writefile() );//ストリームの作成
PrintStream ps = new PrintStream(fo);//ストリームの拡張
ps.println( text.getText() );//ファイルを書き込む
ps.close();//psをクローズする
fo.close();//foをクローズする
text.setText ("");
} catch( Exception x ) {
System.out.println("I/O Exception");
}
} else if (value == JOptionPane.NO_OPTION) {
text.setText ("");
} else if (value == JOptionPane.CANCEL_OPTION ){
}

ひとつずつ説明していきます。
int value = JOptionPane.showConfirmDialog (this, "新規作成する前に保存しますか?", "データーの保存", JOptionPane.YES_NO_CANCEL_OPTION);

まず、この記述によってダイアログの設定を行います。第一引数は親フレームを表し、第二引数は
表示するメッセージ、第三引数はタイトル名、第4引数はオプションタイプを表しています。
オプションタイプは他にもたくさんあります。
DEFAULT_OPTION
YES_NO_OPTION
YES_NO_CANCEL_OPTION
OK_CANCEL_OPTION
などがあります。ほかにもありますが省略します。他の場合が使いたい場合はAPIを見てみてください。
また、これはint型にすることに注意してください。次に

if (value == JOptionPane.YES_OPTION) {

try{
FileOutputStream fo = new FileOutputStream( writefile() );//ストリームの作成
PrintStream ps = new PrintStream(fo);//ストリームの拡張
ps.println( text.getText() );//ファイルを書き込む
ps.close();//psをクローズする
fo.close();//foをクローズする
text.setText ("");
} catch( Exception x ) {
System.out.println("I/O Exception");
}
} else if (value == JOptionPane.NO_OPTION) {
text.setText ("");
} else if (value == JOptionPane.CANCEL_OPTION ){
}

「JOptionPane.YES_NO_CANCEL_OPTION」のときで説明します。上のプログラムのように
if文ですべての場合に対して処理を記述してやればいいのです。これでちゃんと動くはずです。

お勧めページ

JAVA API 「JOptionPane」
ここをクリックで飛びます。


注意!:この文章は管理人が思った風に書いているので本質とずれて
いる可能性大です。鵜呑みにしないで参考程度にみてくださいね。^^



TOPに戻る