私はまだ空白の問題を抱えていますJOptionPane
。SOおよびJavaDocsでの調査に基づくと、これは明らかにを使用しないことと関係がありEDT
ます。私の質問は、EDT
とその方法がどのように正確に適用されるJOptionPane
かということです。たとえば、ターミナルエラー出力は、JOptionPane
以下がで実行されていないことを明確に示していますEDT
。特に欠けているものは何ですか、そしてそのようなものはどのようRunnable
に適合しますか?
import javax.swing.*;
public class PaneDemo
{
public static void main(String[] args)
{
final String[] TEXT ={
//message
"Hello, World!",
//title
"Greeting"};//end TEXT
showMyPane(TEXT);
}//end main
public static void showMyPane(final String[] TEXT)
{
JOptionPane.showMessageDialog(null, TEXT[0], TEXT[1],
JOptionPane.INFORMATION_MESSAGE);
if(!SwingUtilities.isEventDispatchThread())
{
System.err.println("Err: GUI failed to use EDT.");
}//end if(!SwingUtilities.isEventDispatchThread())
}//end showMyPane
}//end class PaneDemo
回答は、を追加することを提案しましinvokeLater
た。ただし、BlueJではそれがうまくレンダリングされないようです。
また、isEventDispatchThread()はまだターミナルでエラーを返しています。それは単に今それが間違った場所にあるからですか?