在基于Java的记事本中的记事本中取消激活像“撤消”这样的MenuItem

时间:2013-11-11 14:12:33

标签: java awt notepad

使用AWT在Java中设计记事本应用程序。现在,我已经创建了MenuBar以及MenuItems,但我无法获得的是如何停用特定的MenuItem,就像我们没有在TextArea中编写任何内容一样,在Edit Section中剪切和复制选项,以及撤消选项仍然是停用。在java中有什么方法可以做那些东西吗?我这样做是使用AWT而不是Swing。

1 个答案:

答案 0 :(得分:0)

在经过考验,错误和冲浪之后得到了答案。在初始化它们时,在构造函数中,我们将其初始值保持为“false”。因此,当texteditor打开时,屏幕上没有任何内容。因此它们将显示为禁用,然后使用KeyListener注册TextArea对象将完成启用该menuItems的工作。 ;)

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);
    }
}