1

JTextPane のテキストを置き換える障害に遭遇したようです。既存のテキストを変更する必要がある JTextPanes がいくつかあります。最初のテキストでこれを行うことができますが、ドキュメントを変更するために呼び出すと、呼び出しでこの変更が表示されますが、パネルは更新されません。

switch(module.getCurrentQuestionNumber())
{
    case 1:
        doc = module8.loadQuestion1();
        udoc = module8.loadQuestion1();

        codeTextPane.setDocument(doc);
        uCodeTextPane.setDocument(udoc);

        toolPane.add(module.loadQuestion1Panel(outputTextPane));
        uToolPane.add(module.loadQuestion1Panel(uOutputTextPane));
        break;

    case 2:
        doc = module8.loadQuestion2();
        udoc = module8.loadQuestion2();

        codeTextPane.setDocument(doc);
        uCodeTextPane.setDocument(udoc);

        toolPane.add(module.loadQuestion2Panel(outputTextPane));
        uToolPane.add(module.loadQuestion2Panel(uOutputTextPane));
        break;
}

1をmodule.getCurrentQuestionNumber()返すと、パネルが読み込まれ、すべてが意図したとおりに機能します。2がmodule.getCurrentQuestionNumber()返されると、doc と udoc の両方に正しい情報が含まれています (プログラムをステップ実行し、ケース 2 の呼び出しに到達すると、ドキュメントに更新された質問が表示されます)、これは codeTextPane も toolPane も更新しません。新しいパネルをロードします。repaint() と update() を呼び出そうとしましたが、どちらも機能していないようです。何か不足していますか?

4

1 に答える 1