停用菜单项,如;撤销;基于Java的记事本中的记事本

停用菜单项,如;撤销;基于Java的记事本中的记事本,java,awt,notepad,Java,Awt,Notepad,我正在用java设计一个记事本应用程序,使用AWT。现在,我已经创建了菜单栏和菜单项,但我不能得到的是如何停用特定的菜单项,比如如果我们没有在文本区域中写入任何内容,在编辑部分,剪切和复制选项以及撤消选项仍然保持停用状态。java中有什么方法可以做这些事情吗?我是用AWT而不是Swing来做这件事的。经过反复尝试和冲浪,我得到了答案。在构造函数中初始化它们时,我们会将它们的初始值保持为“false”。因此,当文本编辑器打开时,屏幕上没有任何内容。因此,它们将显示为禁用状态,然后向KeyListe

我正在用java设计一个记事本应用程序,使用AWT。现在,我已经创建了菜单栏和菜单项,但我不能得到的是如何停用特定的菜单项,比如如果我们没有在文本区域中写入任何内容,在编辑部分,剪切和复制选项以及撤消选项仍然保持停用状态。java中有什么方法可以做这些事情吗?我是用AWT而不是Swing来做这件事的。

经过反复尝试和冲浪,我得到了答案。在构造函数中初始化它们时,我们会将它们的初始值保持为“false”。因此,当文本编辑器打开时,屏幕上没有任何内容。因此,它们将显示为禁用状态,然后向KeyListener注册TextArea对象将完成启用该菜单项的工作。;)

constructor()
{
undo=new MenuItem("Undo",new MenuShortcut(90));
edit.add(undo);
un.setEnabled(false);

cut=new MenuItem("Cut",new MenuShortcut(88));
edit.add(cut);
cut.setEnabled(false);

copy=new MenuItem("Copy",new MenuShortcut(67));
edit.add(copy);
copy.setEnabled(false);

paste=new MenuItem("Paste",new MenuShortcut(86));
ed.add(paste);

selectAll=new MenuItem("Select All",new MenuShortcut(65));
ed.add(selectAll);
selectAll.setEnabled(false);

textArea.addKeyListener();

}

public void keyTyped(KeyEvent arg0)
{
    if(textArea.getText()!=null)
    {
    cut.setEnabled(true);
    copy.setEnabled(true);
    undo.setEnabled(true);
    selectAll.setEnabled(true);
    find.setEnabled(true);
    }
}