fourthline / mmlTools

MabiIcco - マビノギ用MMLエディタ (MML editor for Mabinogi)
https://fourthline.jp/mabiicco/
51 stars 19 forks source link

メニューの表示位置について #35

Closed PantheraUncia14 closed 5 years ago

PantheraUncia14 commented 6 years ago

はじめまして。 私はMacでMabiIccoを使っております。

 ・すでにクローズした話題に関連すること   (LookAndFeelの他OSサポート #27  ・MacOSに関すること  ・おそらく、私のみが希望していること  ・私はJava未経験者であること

上記の点から、お伝えしようかずっと悩んでおりました。

内容としては、アプリケーションウィンドウ内に表示されている「ファイル」「編集」「トラック」 などのメニューを、(Macの)メニューバーに表示させたいという事です。

Macでは画面上側にメニューバーが存在します。特徴としては以下のとおりです。

 ・アプリケーションをフルスクリーン表示にしない限り、隠れない(環境設定で隠すことは可能)  ・どのアプリケーションも共通して、「ファイル」「編集」などのメニューを表示できる領域   (メニューの項目・数はアプリケーションにより異なります)  ・アクティブなアプリケーションのメニューが表示されます。   (複数起動しているうち、今現在ユーザーが操作しているもの)

menubar (メニューバーの内容。アプリケーションはテキストエディタ)

MabiIcco.jarを実行すると、Macのメニューバーは空欄で、アプリケーションウィンドウ内にメニューが 表示されるので、この空欄に「ファイル」「編集」「トラック」などを表示できたら良いなぁと思いました。

2018-09-14 20 24 29 ※ただし条件として、Windows、他OSで実行しても影響を与えない方法にて表示させる。

そこで、src/fourthline/mabiicco/MabiIcco.javaに記載のある

UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );

の上に2行追加し、

System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "WikiTeX"); UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() );

とすることで、Macのメニューバー内に「ファイル」「編集」「トラック」などの項目を入れることができます。アプリケーションウィンドウ内のメニューは表示されなくなります。

2018-09-14 19 03 32 (左:2行(赤字)追記したもの  右:オリジナル)

2行追加してビルドした.jarをWindowsで実行すると、これまでと変わりなくメニューが表示され、操作できます。 (メニューがアプリケーションウィンドウからはみ出す、分離するといった状態にはなりません。)

windowsmabiicco (Windows10での動作)

単に見た目の問題で、機能としてはまったく一緒であり、Windowsをお使いの方々が多い中 私一個人の希望で大変恐縮なのですが、

System.setProperty("apple.laf.useScreenMenuBar", "true"); System.setProperty("com.apple.mrj.application.apple.menu.about.name", "WikiTeX");

の記述についてご検討頂ければ幸いです。

以下、私がMabiIccoを扱っている環境です。 MacBook 2010 13inch 1280x800 LCD macOS Sierra 10.12.6 (64bit) Java version 1.8.0_181 (JDK8u181)

マビノギのプレイ環境 Windows10 64bit Java 1.8.0_181

~最後に~ どのOSでも実行できるJavaで、素敵なアプリケーションを公開してくださり、ありがとうございます。

fourthline commented 5 years ago

ありがとうございます!

ちょっと試してみましたが、 もしコマンドで起動しているのであれば、下記でどうでしょうか? ソースコード変更なしに表示を変えられるようです。

$ java -Dapple.laf.useScreenMenuBar=true -jar MabiIcco.jar

Mac向けの属性が他にもあるようなので、みてみます。 http://mirror.informatimago.com/next/developer.apple.com/ja/technotes/tn2031.html

PantheraUncia14 commented 5 years ago

こんにちは。早速のご返信ありがとうございます。 普段は.jarをダブルクリックして起動し、使っています。 ソースコード変更なしに、コマンドによる起動を試したところ、表示を変えることができました。

$ java -Dapple.laf.useScreenMenuBar=true -jar MabiIcco.jar

2018-09-15 10 22 03 (ソースコード:変更なし コマンドによる起動)

メニューバーからの操作も問題なく行えます。 ありがとうございます:-)