我正在使用 AWT 在 java 中设计一个记事本应用程序。现在,我已经创建了 MenuBar 以及 MenuItems,但是我无法获得的是如何停用特定的 MenuItem,就像我们没有在 TextArea 中写任何东西一样,在编辑部分中的剪切和复制选项,以及撤消选项保持停用。java中有什么方法可以做这些事情吗?我这样做是使用 AWT 而不是 Swing。
问问题
407 次
1 回答
0
经过反复试验和冲浪,得到了答案。在构造函数中初始化它们时,我们会将它们的初始值保持为“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);
}
}
于 2013-11-16T22:14:05.910 回答