メソッド
|
説明
|
コンストラクタ
|
public PopupPulldownMenu(String commandName, String[] menuItemNames, ImageIcon[]
icons, String[] accelerators)
引数:
commandName - コマンド名
"shape popup menu"、"group popup menu"、"edit
shape popup menu"など
menuItemNames - メニューアイテム名
icons - メニューアイテムに貼り付けるImageIcon
iconsにnullを指定したら、全てのmenuItemにIconを設定しない。またicons[i]==nullならばi番目のmenuItemにはIconを設定しない。
accelerators - accelerator文字列の配列。
accelerators[i]がnullでなければmenuItem.setAccelerator(stroke)でacceleratorを設定。
|
setMenuItems
|
public void setMenuItems(String[] menuItemNames, ImageIcon[] imageIcons,
String[] accelerators)
テキストとImageIconからなるメニューアイテムの設定を行う。
ボタンやチェックボックスを設定するメニューアイテムはこのメソッドを使わずに独自に設定する。引数は配列になっており、メニューアイテムの数だけ指定する。
引数:
menuItemNames - メニューアイテム名の配列。
imageIcons - メニューアイテムに表示するImageIconの配列。
accelerators - メニューアイテムに設定するアクセラレータの配列。
処理:
①メニューアイテム名とアクセラレータを表示する最大幅と最大高さを計算。
②メニューアイテムを設定する。
メニューアイテム名の文字列とIcon画像の表示位置を確実に整列させるため、各々をLabelに張りつけ、LabelのサイズをsetPreferredSizeメソッドで指定する。文字列を貼り付けるLabelのサイズは①で求めた文字列の最大表示幅にマージンを加えた値、ImageIconを貼り付けるLabelのサイズは、原画像のサイズから決める。
|
getTextLayoutSize
|
private Dimension getTextSize(String text, Font font)
引数textで指定されるテキストを、引数fontで描画するときのテキストのサイズをDimensionオブジェクトで返す。
TextLayoutオブジェクトを作成し、getAdvance、getAscent、getDescentメソッドを使ってテキストのサイズを取得する。
|
getMenuItem
|
public JMenuItem getMenuItem(String menuItemName)
メニューアイテム名を指定してJMenuItemオブジェクトを返す。
JPopupMenuのgetComponentsメソッドでJMenuItemオブジェクトを取得。JMenuItemオブジェクトのComponent名とmenuItemNameをCommand.compareStringsメソッドで比較し、一致するオブジェクトを返す。
|
setEnable
ToAllMenuItems
|
public void setEnableToAllMenuItems()
このJPopupMenuの全てのメニュアイテムを選択可能にする、
|
show
|
public void showMenu(Point point, ShapeContainer container)
引数:
point - ポップアップメニューを開くためにマウスの右ボタンを押した点
container - ShapeContainerオブジェクトまたはnull
処理:
ExecPopupMenu.showから呼ばれ、プルダウンメニューを表示する。
this.point=point;
this.container=container;
this.show(ObjectTable.getDrawPanel(), (int)point.getX(), (int)point.getY());
|
createSingleShapePopupMenu
|
public static void createSingleShapeContainerPopupMenu()
図形要素用のPopupPulldownMenu
次のように引数を設定しコンストラクターを呼ぶ。
String commandName=Command.getCommandString(Command.SHAPE_POPUP_MENU);
String[] imageName={"", "", "", "",
"", ""};
String[] menuItemNames={"cut", "copy", "delete",
"add text box", "modify shape",
"shape format"};
|
createGroupShapePopupMenu
|
public static void createGroupShapeContainerPopupMenu()
グループ図形用のPopupPulldownMenu
次のように引数を設定しコンストラクターを呼ぶ。
String commandName=Command.getCommandString(Command.GROUP_POPUP_MENU);
String[] imageName={"", "", "", ""};
String[] menuItemNames={"cut", "copy", "delete",
"shape format"};
|
createDrawPanelPopupMenu
|
public static void createDrawPanelPopupMenu()
DrawPanel用のPopupPulldownMenu
次のように引数を設定しコンストラクターを呼ぶ。
String commandName=Command.getCommandString(Command.DRAWPANEL_POPUP_MENU);
String[] imageName={"", ""};
String[] menuItemNames={"paste", "draw panel information"};
|
|
public static void createTextBoxPopupMenu() |