私はシンプルなテキストエディターで作業しており、メインパネルには、現在開いているファイル (CDocument クラス) とアクティブなドキュメント (CDocument クラス) を含む JList があります。開いているファイル (CDocument オブジェクト) をベクター形式で保存し、右側にアクティブなドキュメントを表示します。
現在、プログラムの開始時にアクティブなドキュメントはなく、開いているドキュメント リストは空です。File->New をクリックした後、クラス CDocument から新しい空のオブジェクトを作成します。アクティブなドキュメント領域 (スクリーンショットの赤い領域) に何かを入力し、[ファイル] -> [新規] を再クリックすると、新しい空の (テキストなし - で再確認した) CDocument オブジェクトが取得されます。ただし、以前のアクティブなドキュメントのテキストは、新しく作成された (赤い領域 - 新しく空の CDocument) に引き続き表示されます。理由がわからないので、ここで頭を悩ませていますか?ここにファイル - >新しいコードチャンクがあります: `
if(e.getSource()==this.menuItemFileNew())
{
CDocument currentDocument=new CDocument();
if(this.panelMain().documentActive()!=null)
{
this.panelMain().remove(this.panelMain().documentActive());
}
this.panelMain().openedDocuments().add(currentDocument);
this.panelMain().setDocumentActive(currentDocument);
this.panelMain().add(panelMain().documentActive().pane(),
BorderLayout.CENTER);
this.panelMain().documentActive().addKeyListener(this);
this.panelMain().documentActive().requestFocus();
this.menuItemFileSave().setEnabled(true);
this.menuItemFileSaveAs().setEnabled(true);
this.menuItemFileClose().setEnabled(true);
this.menuItemFileCloseAll().setEnabled(true);
this.toolBarFileSwitcher().panelActiveDocumentInfo().
panelFileSizeInfo().updatePanel(this.panelMain().documentActive().getText().length(),
false);
this.toolBarFileSwitcher().listOpenedFiles().model().addElement(currentDocument.filename());
this.toolBarFileSwitcher().listOpenedFiles().setSelectedIndex(this.toolBarFileSwitcher().listOpenedFiles().model().size()-1);
this.toolBarFileSwitcher().setVisible(true);
}
`
テキストが表示されるのはなぜですか。updateUI、再描画を試しましたが、何も機能しません!