1. 概要
2. DrawMenuクラス
戻る=>page top
public class DrawMenu
画面に表示するメニュー (ボタン、コンボボックス、メニュー等)は全てこのクラスで作成する。
・JTabbedPaneの各Tabに貼り付けるHomeTabPanel、ShapeTabPanel、HelpTabPanelを作成。
このパネルにはメニューグループを作成して張り付ける。
・各メニューグループはcreateXXXGroupメソッドで作成する。
createXXXGroupメソッドでは、ボタン、ComboBoxなど様々なメニューをstaticメソッドで作成する。
メソッド
|
説明
|
createHomeTabPanel
|
public JPanel createHomeTabPanel()
Homeタブに貼り付けるメニューグループを作成し、JPanelに貼り付けて返す。
|
createShapeTabPanel
|
public JPanel createShapeTabPanel()
Shapeタブに貼り付けるメニューグループを作成し、JPanelに貼り付けて返す。
|
createHelpTabPanel
|
public JPanel createHelpTabPanel()
Helpタブに貼り付けるメニューグループを作成し、JPanelに貼り付けて返す。
|
createFileGroup
|
public JPanel createFileGroup()
ファイル操作関係のメニューを作成し、JPanelに貼り付けて返す。
|
createPageGroup
|
public JPanel createPageGroup()
ページ操作関係のメニューを作成し、JPanelに貼り付けて返す。
|
createEditGroup
|
public JPanel createEditGroup()
編集(cut, copy&paste)操作関係のメニューを作成し、JPanelに貼り付けて返す。
|
createShapeGroup
|
public JPanel createShapeGroup()
図形作成関係のメニューを作成し、JPanelに貼り付けて返す。
|
createShapeStyleGroup
|
public JPanel createShapeStyleGroup()
図形の表示属性関係のメニューを作成し、JPanelに貼り付けて返す。
|
createShapeLayoutGroup
|
public JPanel createShapeLayoutGroup()
図形の配置関係のメニューを作成し、JPanelに貼り付けて返す。
|
createFontStyleGroup
|
public JPanel createFontStyleGroup()
フォントメニューを作成し、JPanelに貼り付けて返す。
|
createDebugTestGroup
|
public JPanel createDebugTestGroup()
デバッグツール関係メニューを作成し、JPanelに貼り付けて返す。
|
3. MenuConstantsクラス
戻る=>page top
メニュー設定に使う定数を定義する。
フィールド
|
説明
|
imageWidth, imageHeight
|
public final static int imageWidth=20, imageHeight=20;
ボタン等に貼り付ける画像のサイズ。
|
menuItemImageWidth,
menuItemImageHeight
|
public final static int menuItemImageWidth=64, menuItemImageHeight=10;
メニューアイテムに貼り付ける画像のサイズ。
|
buttonWidth, buttonHeight
|
public final static int buttonWidth=22, buttonHeight=22;
ボタンのサイズ。
|
guidancePanelRectangle
|
public final static Rectangle guidancePanelRectangle=new Rectangle(160,
0, 1200, 22)
コマンドガイダンスを表示するパネル(GuidancePanel)のサイズ。
|
DefaultFont
|
public final static Font DefaultFont=new Font(Font.DIALOG, Font.PLAIN,
12);
ラベル等に表示する際のデフォールトフォント。
|
menuFont
|
public final static Font menuFont=new Font(Font.DIALOG, Font.BOLD, 12);
メニューボタン等に表示するフォント。
|
menuItemFont
|
public final static Font menuItemFont=new Font(Font.DIALOG, Font.BOLD,
11);
メニューアイテムに表示するフォント。
|
4. MenuUtilクラス
戻る=>page top
メニューコンポーネント(ボタン、コンボボックス、プルダウンメニュー等)の一覧を管理
メソッド
|
説明
|
setMenuComponent
|
public void setMenuComponent(Component component)
メニューコンポーネント(ボタン、コンボボックス、プルダウンメニュー等)をMenuComponentListに登録する。
|
removeMenuComponent
|
public void removeMenuComponent(Component component)
メニューコンポーネント(ボタン、コンボボックス、プルダウンメニュー等)をMenuComponentListから削除する。
|
getMenuComponent
|
public Component getMenuComponent(String name)
コンポーネント名を指定してメニューコンポーネントを取り出す。大文字/小文字の区別、"_"によるテキストの区切りは無視する。複数存在するときは、最初のメニューコンポーネントを返す。
次のgetMenuComponentsメソッドを使う。
|
getMenuComponents
|
public Component[] getMenuComponents(String name)
コンポーネント名を指定してメニューコンポーネントを取り出す。大文字/小文字の区別、"_"によるテキストの区切りは無視する。メニューコンポーネントが複数存在するときは全てを返す。.
|
getChildComponent |
public Component getChildComponent(Container parent, String name, String
simpleClassName)
引数:
parent - Containerオブジェクト
name - 取り出すコンポーネント名.
simpleClassName - 取り出すコンポーネントの単純クラス名。単純クラス名は例えば"JComponent", "JMenuItem", "JCheckBoxMenuItem" など。
戻り値:
parent の下位に位置するコンポーネントで名前とクラス名が引数に一致するものを返す。複数存在するときは最初のコンポーネントを返す。
処理:
次のgetChildComponents メソッドを使う。
|
getChildComponents |
private Component[] getChildComponents(Container parent, String name, String
simpleClassName)
引数:
parent - Containerオブジェクト
name - 取り出すコンポーネント名.
simpleClassName - 取り出すコンポーネントの単純クラス名。単純クラス名は例えば"JComponent", "JMenuItem", "JCheckBoxMenuItem" など。戻り値:
parent の下位に位置するコンポーネントで名前とクラス名が引数に一致するものを全て返す。存在しないときは長さ0の配列を返す。
処理:
次のgetComponents メソッドを使う。
|
getComponents |
private void getComponents(Container container, Vector vector)
Parameters:
container - Containerオブジェクト
vector - containerの下位に位置するコンポーネントを格納する。
Processing:
もしcontainerがJMenu (javax.swing.JMenu)オブジェクトならば jMenu.getMenuComponentsメソッドで子コンポーネントを取得する。そうでなければContainer.getComponentsメソッドで取得する。
子コンポーネントが見つかればこのメソッドを再帰的に呼んで、さらにその子コンポーネントを探す。
|
resetSelectedMenu
Components
|
public void resetSelectedMenuComponents()
MenuComponentList に登録されているメニューコンポーネントのうちフォントメニューコンポーネントを除外し、全てを非選択状態にする。ボタンなどをクリックすると外観が選択状態に変わる。これを解除するために使う。
|
printMenuComponent |
public void printMenuComponent(Container parent)
parentとその下位コンポーネントを全てプリントする。 |
6. GuidancePanelクラス
戻る=>page top
public class GuidancePanel extends JPanel
ガイダンスパネルは、GlassPaneを利用してTabbedPaneのタブの横に表示する。
GlassPaneにガイダンスパネルを設定し、ガイダンスパネルの位置とサイズはsetBoundsメソッドで決める。
フィールド
|
説明
|
glassPane
|
static JPanel glassPane=ObjectTable.getGlassPane("MessageField")
ガイダンスパネル(このクラスのオブジェクト)を設定するglassPaneオブジェクト。
glassPaneはDrawMain(メインクラス)で取得する。
|
viewLabel
|
static JLabel viewLabel=new JLabel()
上図参照
|
guidanceLabel
|
static JLabel guidanceLabel=new JLabel()
上図参照
|
guidancePanelBounds
|
final static Rectangle guidancePanelBounds=new Rectangle(160, 0, 1200,
22)
ガイダンスパネル(このクラスのオブジェクト)のglassPane上での位置、サイズを定めるRectangleオブジェクト。
|
メソッド
|
説明
|
コンストラクタ
|
public GuidancePanel()
basePanel(JPanel)を作成し、FlowLayoutを設定。これにviewLabelとguidanceLabelをbasePanelに加える。
basePanelをGuidancePanelオブジェクトに加え、さらにGuidancePanelオブジェクトをglassPaneに加える。
最後にglassPaneにsetVisible(true)を設定して表示する。
|
showViewMessage
|
public static void showViewMessage(String message)
viewLabelにメッセージを表示する。
|
showSettingsMessage
|
public static void showSettingsMessage(String message)
guidanceLabelにメッセージを表示する。
|
7. StatusPanelクラス
戻る=>page top
public class StatusPanel extends JPanel
画面の下側に表示するパネル。
現在はMousePositionLSのdisplayMousePositionメソッドでマウスの位置情報を表示するためと、TextBoxのdisplayMousePositionメソッドでテキストの選択状況などを表示するために使っている。
パネルの上下2段にJLabelを貼り付け、ここにテキストを表示する。
現在のところ上段のLabelはMousePositionLSが、下段のLabelはTextBoxが使う。
なおLabelに表示するテキストがnullのときLabelは表示されない。
メソッド
|
説明
|
コンストラクタ
|
public StatusPanel()
縦方向のBoxオブジェクトを作成してこのパネルに貼り付ける。
JLabelを2個作成してBoxオブジェクトに設定する。
|
createLabel
|
public JLabel createLabel()
テキスト表示用のJLabelを作成する。
|
showText
|
public void showText(int i, String text)
i=0の時は上段のJlabelに、i=1の時は下段のJlabelにtextを設定する。
|
8. DrawImageIconクラス
戻る=>page top
public class DrawImageIcon
・ボタン等に貼り付ける画像をファイルから取得する。
画像を格納したファイルは実行コードのあるディレクトリ直下のimagesファイルに格納されている。
・取りだした画像を指定サイズになるように変換し、ImageIconオブジェクトを返す。
メソッド
|
説明
|
get
|
public static ImageIcon get(String imageName, int width, int height)
引数:
imageName - 画像名
width - 取り出す画像の幅
height - 取り出す画像の高さ
処理:
次のgetImageメソッドで画像をBufferedImageに書き込み、getScaledInstanceメソッドで指定サイズの画像を得る。
この画像を引数としてImageIconオブジェクトを作成し、戻り値として返す。
|
getImage
|
protected static BufferedImage getImage(String imageName)
引数:
imageName - 画像名
処理:
取り出す画像のファイルパスはつぎのように作成する。
File file = new File("");
String currentPath=file.getAbsolutePath();
String filePath=currentPath+ "/images/"+imageName;
|
|