2011-11-03 27 views
1

我曾使用JDialog框中顯示一個錯誤消息,需要使用JOptionPane.ERROR_MESSAGE類型的JDialog的在一個JFrame

JOptionPane.showMessageDialog(
     null, "ErrorMsg", "Failure", JOptionPane.ERROR_MESSAGE); 

但條件是該消息框應始終是對前景使得用戶必然會繼續並且不會錯過它。

因此,我使用的JFrame代替並用於setAlwaysOnTop(true) 顯示message.i使用JLabelJButton和 我使它通過下面的鏈接

How do I remove the maximize and minimize buttons from a JFrame?

的幫助顯示爲JDialog當我們在對話框中使用JOptionPane.ERROR_MESSAGE類型時,我想在上面的框架中添加一個錯誤消息符號。

我不想在JFrame中添加圖像圖標。 我正在從JDialog擴展我的班級。是否可以在我的框架中使用MessageType

回答

6

的方法setAlwaysOnTop(boolean)屬於Window類,所以JDialogJFrame這兩個類都繼承了這種方法,您可以使用JDialog標記爲AlwaysOnTop,

您可以使用JOptionPane準備所需JDialog

JOptionPane optionPane = new JOptionPane("ErrorMsg", JOptionPane.ERROR_MESSAGE);  
JDialog dialog = optionPane.createDialog("Failure"); 
dialog.setAlwaysOnTop(true); 
dialog.setVisible(true); 
+0

如何關閉對話框?按「確定」後程序仍在運行..如何處置它。 –

+0

你想做什麼?你的意思是模態對話框(setModal(true))?或者您想要在對話框中獲得用戶操作的結果? – svaor

+0

JDialog dialog = new JOptionPane(「ErrorMsg」,JOptionPane.ERROR_MESSAGE,JOptionPane.DEFAULT_OPTION).createDialog(「Failure」); dialog.setAlwaysOnTop(true); dialog.setVisible(true); dialog.dispose(); –

1

你可以通過任何JComponentObject在conctructor爲JOptionPane

你的情況是存在的null value - JOptionPane.showMessageDialog(null, 「ERRORMSG」,例如

JOptionPane.showMessageDialog(myFrame, 
    "ErrorMsg", "Failure", JOptionPane.ERROR_MESSAGE); 
+0

但對話框沒有setAlwaysOnTop(真)屬性.. –

+0

但到底是什麼意思呢?我相信mKorbel概述了在一個框架之外始終進行對話的最佳方式。如果整個應用程序被最小化或其他應用程序。優先考慮你的應用。應該放棄屏幕空間。 –

相關問題