void setFrame()
=>図1
∙ ウィンドウリスナーをこのオブジェクトに設定。
DrawWindowAdapter adaptor=new DrawWindowAdapter(this);
this.addWindowListener(adaptor);
this.addWindowFocusListener(adaptor);
this.addWindowStateListener(adaptor);
∙ Commandオブジェクトを作成
new Command();
∙ MenuUtilオブジェクト作成。
メニューの一覧をListで管理するので、一番最初に設定する。
MenuUtil menuUtil=new MenuUtil();
ObjectTable.menuUtil=menuUtil;
∙ GlassPaneの取得、ObjectTableへの登録する。
JPanel glassPane=(JPanel)this.getGlassPane();
GlassPaneは現在のところGuidancePanelだけで使用している。
∙ TabbedPane、StatusPanel作成し、DrawMain(JFrame)へ設定する。
JFrameのContentPaneにBorderLayoutを設定し、TabbedPane, StatusPanelを加える。
StatusPanel(画面下の表示パネル)も同様。
contentPane.add(tabbedPane, BorderLayout.NORTH);
contentPane.add(statusPanel, BorderLayout.SOUTH);
∙ TabbedPaneにHomeパネル、Shapeパネル、Helpパネルを加える。
∙ ポップアップメニューを作成し、ObjectTableへの登録する
PopupPulldownMenuのstaticメソッドでポップアップメニューを作成する。
ポップアップメニューを呼び出すときは、ExecPopupMenuでMenuUtilに登録されたメニュー一覧表から検索する。
検索メソッドはMenuUtil.getMenuComponentメソッド。
PopupPulldownMenu.createShapePopupMenu();
PopupPulldownMenu.createGroupPopupMenu();
PopupPulldownMenu.createDrawPanelPopupMenu();
∙ 図形描画パネル(DrawPanel)、リスナーパネル(ListenerPanel)オブジェクトを作成する。
DrawPanelは図形を描画するパネル。このオブジェクトのpaintメソッドから図形要素のメソッドを呼び描画する。ListenerPanelはDrawPanel の拡張クラスで、KeyListener, InputMethodListener, InputMethodRequests インタフェースをインプリメントしており、テキスト入力のコンポーネントとなる。またMouseListener, MouseMotionListenerを登録するパネルでもある。
∙ スクロールペイン(JScrollPane)作成し、DrawMain(JFrame)のContentPaneに加える。
contentPane.add(scrollPane, BorderLayout.CENTER);
JScrollPane自体には、JViewportを設定し、JViewportにはビュー(viewPanel)を設定する。
JPanel viewPanel=ViewUtil.getFramePanel(drawPanel);
viewport.setView(viewPanel);
scrollPane.setViewport(viewport);
∙ viewPanel。
図1の灰色の部分で、drawPanelを中央に配置するために作成する。これがなければ、drawPanelは左端に配置される。
∙ 図形処理に必要なオブジェクトの作成し、ObjectTableへの登録する。
|