Shoken Startup Blog

KitchHike Founder/CTO

ダイアログを前面に出す

setAlwaysOnTop メソッドを使う。(SE 5.0から)
しかし、setAlwaysOnTop メソッドはJOptionPane クラスにはない。警告ダイアログなどに使うのに、非常に残念。

ダイアログを前面に出す方法は、

  1. JFrameを前面に出す
Jframe frame = new JFrame();

frame.setAlwaysOnTop(true);
String inputValue = JOptionPane.showInputDialog(frame,"入力してください");
frame.setAlwaysOnTop(false);
  1. JDialogのインスタンスを作成する(めんどい)
JOptionPane jop = new JOptionPane(null,JOptionPane.QUESTION_MESSAGE,JOptionPane.OK_CANCEL_OPTION);
JDialog dialog = jop.createDialog(null,"入力してください");
JPanel dialog_p = new JPanel();
JTextField dialog_txt = new JTextField();

dialog_txt.setPreferredSize(new Dimension(150, 30));
dialog_p.add(dialog_txt,BorderLayout.CENTER);
dialog.add(dialog_p);

dialog.setAlwaysOnTop(true);
dialog.setVisible(true);
dialog.setAlwaysOnTop(false);

参考

JOptionPane (Java 2 Platform SE 5.0)


JDialog (Java 2 Platform SE 5.0)

J2SE 5.0 Tiger 虎の穴 ウィンドウ位置