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() を呼び出そうとしましたが、どちらも機能していないようです。何か不足していますか?