Javaの道 Javaに関する
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道 >  掲示板 >  掲示板(どうかクラス構成等について指導ください。)
閲覧数:712
掲示板(どうかクラス構成等について指導ください。)
名前
匿名
題名 どうかクラス構成等について指導ください。
質問内容

質問を評価する
(0ポイント)
今テキストエディター+タグ一覧というHTMLEditorというのを作っています。
今のところウィンドウ(javax.swing.JFrame)には以下を配置しています。
メニューバー(java.awt.MenuBar) テキストエディターなどで使うメニューを配置
ポップアップメニュー(java.awt.PopupMenu) テキストエディターで使うメニューを配置
タブ(javax.swing.JTabbedPane) タグをジャンルごとに一覧配置する予定
テキストエリア(import java.awt.TextArea) テキストエディター

ソースファイルが長くなると編集しづらいだろうから、以下のようなクラスに分けて作ることにしました。
HTMLEditorクラス プログラム本体 以下クラスの実体化など
MenuSystemクラス メニューバー作成・メニューが選ばれた時の処理など
PopupSystemクラス ポップアップメニュー作成など
TabShowクラス タブ作成など
TextEditorクラス テキストエリアの作成・ウィンドウリサイズ時のテキストエリア・タブのサイズや位置の変更など

HTMLEditorクラスにあるmain関数でHTMLEditorクラスのインスタンスeditorを作り、他のパーツを同じウィンドウに配置すべく、editorをその他クラスのコンストラクターの引数に渡しています。
ポップアップメニューのメニューはメニューバーのものの一部であるため、ポップアップメニューのアクションリスナーはメニューバーのものにしています。

ウィンドウはサイズ変更可であり、もちろんウィンドウサイズが変わればそれに合わせて配置しているもののサイズも変更します。
TextEditorクラスにコンポーネントリスナーを作り、ウィンドウのリサイズが行われた時にテキストエリア・タブのリサイズ等を行っています。
また、タブはメニューから表示/非表示を切り換えられるようにする予定です。
これはメニューのアイテムリスナーで切り替えを読み取り、TabShowクラスに作っているboolean型のshowをfalseに代えてから、TextEditorクラスでウィンドウリサイズ時と同じような動作をさせる予定です。

それから、タブサイズをサイズ変更可にしたいため、javax.swing.JSplitPaneを使ってみたいと思っています。
そのとき、それ用のクラスを新たに作ろうと考えています。

メニューには開く・保存などがあり、それらの動作を別クラスに分けてしまうかソースが長くなってしまってもMenuSystemクラスに書くべきか、決めかねています。

こんな感じでクラス分け等してよかったのかなどが気になり質問させてもらいました。
長文になってしまいましたが、どうかよろしくお願いします。
質問日時 2013-01-16 12:34:49

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。



このページのトップへ
 ニュースJava基本Servlet・JSPオープンソースFAQ掲示板
Javaの道_CopyrightJavaの道