0

我正在使用简单的文本编辑器和主面板,我有 JList 与当前打开的文件(CDocument 类)和活动文档,其中显示的内容(也是 CDocument 类)。我将打开的文件(CDocument 对象)存储在向量中,并且在右侧显示了活动文档。在此处输入图像描述

现在,在程序启动时,没有活动文档,打开的文档列表为空。单击文件->新建后,我从 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 回答