2

AWT を使用して、Java でメモ帳アプリケーションを設計しています。今、MenuBar と MenuItems を作成しましたが、取得できないのは、TextArea に何も書いていない場合のように、特定の MenuItem を非アクティブ化する方法です。 、および元に戻すオプションは非アクティブのままです。そのようなことをするためのJavaの方法はありますか?SwingではなくAWTを使用してこれを行っています。

4

1 に答える 1

0

試行錯誤とサーフィンの末、答えを得ました。それらを初期化する間、コンストラクター内では、初期値を「false」のままにします。したがって、texteditor が開いたとき、画面には何も表示されません。そのため、それらは無効に表示され、TextArea オブジェクトを KeyListener に登録すると、その 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);
    }
}
于 2013-11-16T22:14:05.910 に答える