Mac のメニューバー
Macintosh では,メニューは画面の上端のメニュー領域に表示される。そのため,メニューを持たないスタンプウインドウやシェーマウインドウを選ぶと,メニューが消えてしまう。消えても実用上問題はないのだが,どうも気になる。これを消えないようにするため,StampBox と SchemaBox (ImageBox) にもメニューを組み込んだ。
ImageBox.java の編集
private void initComponent() {
・
・
////↓ mac で SchemaBox にもメニューバーを出す
if (isMac) {
WindowSupport windowSupport = WindowSupport.create(title);
frame = windowSupport.getFrame();
javax.swing.JMenuBar myMenuBar = windowSupport.getMenuBar();
mediator = new Mediator(this);
AbstractMenuFactory appMenu = AbstractMenuFactory.getFactory();
// mainWindow の menuSupport をセットしておけばメニュー処理は mainWindow がしてくれる
appMenu.setMenuSupports(getContext().getMenuSupport(), mediator);
appMenu.build(myMenuBar);
mediator.registerActions(appMenu.getActionMap());
mediator.disableAllMenus();
String[] enables = new String[]{
GUIConst.ACTION_SHOW_STAMPBOX,
};
mediator.enableMenus(enables);
} else frame = new JFrame(title);
////↑
・
・
StampBoxPlugin.java の編集
public void start() {
・
・
///↓ mac で StampBox にもメニューバーを出す
if (isMac) {
WindowSupport windowSupport = WindowSupport.create(title);
frame = windowSupport.getFrame();
javax.swing.JMenuBar myMenuBar = windowSupport.getMenuBar();
mediator = new Mediator(this);
AbstractMenuFactory appMenu = AbstractMenuFactory.getFactory();
// mainWindow の menuSupport をセットしておけばメニュー処理は mainWindow がしてくれる
appMenu.setMenuSupports(getContext().getMenuSupport(), mediator);
appMenu.build(myMenuBar);
mediator.registerActions(appMenu.getActionMap());
mediator.disableAllMenus();
String[] enables = new String[]{
GUIConst.ACTION_SHOW_SCHEMABOX,
};
mediator.enableMenus(enables);
} else frame = new JFrame(title);
////↑
・
・
« 初診・再診の自動入力 | トップページ | スタンプ入れ替えロック »
「OpenDolphin」カテゴリの記事
- OpenDolphin: Java 25 / WildFly 38 への移行(2025.11.09)
- 運用17年目のまとめ(2025.02.03)
- IME on/off の切換 - その2(2024.12.02)
- OrcaController オルコン(2024.11.28)
- OpenDolphin: java 21 / wildfly 34 への移行(2024.11.08)


