• ベストアンサー

簡単なテキストエディタを作っているのですが・・

javaで、テキストファイルの読み書きとTextAreaクラスの持つ機能を使った編集ができる程度の簡単なテキストエディタを作成したいのですが、新規作成を行うためのメニューアイテムをどのように作成すればいいのか解りません。 そのメニューアイテムを実行した時に、新しいファイルの編集を始める状態にしなければならないので、テキストを編集中であるのならばその内容を全て消去し、開いたファイルがあるのならば初期状態に戻し、さらにウィンドウのタイトルもNew Fileなどに変更しなければなりません。 わかる方がいましたらよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • takaP-
  • ベストアンサー率79% (83/105)
回答No.1

何かの課題のようですので具体的なソースの提示は 出来るだけ差し控え基本部分だけアドバイスします。 TextAreaを使うとのことですので、Swingではなく AWTだと想像します。 という事は、java.awt.Frameクラスを土台にして GUIを作るわけですが、APIリファレンスでFrameを 調べるとsetMenuBar()というメソッドが有ります。 これの引数はjava.awt.MenuBarとなっています。 次にMenuBarクラスを調べるとadd()という組み込み 用のメソッドがあり、引数はjava.awt.Menuになって います、そしてMenuにも組み込み用のメソッドadd() が在り、引数はjava.awt.MenuItemとなっています。 以上ここまでがメニューアイテムを表示する際に必要 なるコンポーネントクラスです。 MenuItem createNew = new MenuItem("新規作成"); で、新規作成のメニューアイテムを作り Menu menu = new Menu("File"); menu.add(createNew); で、メニューにメニューアイテムを組み込み MenuBar mbar = new MenuBar(); mbar.add(menu); で、メニューバーにメニューを組み込み setMenuBar(mbar); で、フレームに組み込むのが基本的な流れです。 >テキストを編集中であるのならばその内容を全て消去し、 >開いたファイルがあるのならば初期状態に戻し、さらに >ウィンドウのタイトルもNew Fileなどに変更しなければ >なりません テキストエリアの内容を消去するのなら、TextAreaの setText()メソッドを使えばいいだけです。 textArea.setText(""); で、表示されている文字は消去できます。 「開いたファイル」といっても実際のファイルを上書き していない限り、テキストエリアの内容を変更したとし ても実ファイルの内容に変化はありません。 ウインドウのタイトルは、setTitle()メソッドで変更 すれば良いだけです。 後は、MenuItemにActionListenerを登録し、イベント 処理部分に一連の動作を記述すればいいと思います。

kuwatoro1
質問者

お礼

わかり易いアドバイスどうもありがとうございます。

関連するQ&A