0

ロード時にこの行で (ただし、時々のみ) nullpointer 例外を生成するアプレットがあります。

(txtpnNoSeHa は、JPanel を拡張するクラス内の JEditorPane です。このパネルは、アプレット コンストラクター内でインスタンス化されます)

txtpnNoSeHa.setBackground(UIManager.getColor("Panel.background"));

コンストラクター内で呼び出されます。

これから私が理解しているのは、UIManager.getColor が null を返すことがあるということです。おそらく、一部のデータがロードされていないためです (swing パネルが表示されていないか、同様のもの)。

アプレットは、Eclipse のウィンドウ ビルダーを使用して設計されました。どうすればこれを修正できますか? 誰でもこれに光を当てることができますか?

4

2 に答える 2

2

過去に同様の問題があり、swing 関連のすべてのコードを GUI スレッド (EDT) から実行することで解決しました。

SwingUtilities.invokeLater(new Runnable()
{
    @Override
    public void run()
    {
        // ...
    }
});
于 2013-04-03T22:04:37.777 に答える