0

私はシンプルなテキストエディターで作業しており、メインパネルには、現在開いているファイル (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、再描画を試しましたが、何も機能しません!

4

1 に答える 1

2

データ型Actionに関連する機能をカプセル化するために使用します。これにより、すべての呼び出しの一貫性がCDocument保証されます。このでは画像を管理していますが、このではファイルのメニューを示しています。

于 2013-03-28T03:21:11.540 に答える