Retina iMac 対応
結構高いので,昨年からどうしようかと悩んでいたが,ついに物欲に負けて Retina iMac 27 インチモデルを購入した。OpenDolphin に細かい修正を加えて Retina 対応した。
- JTable のグリッドを表示すると,グリッドが2ドット幅になって,しかも少しずれてしまう。
workaround を探していたところ,レンダラの print(Graphics)を Override して,以下のように,はみ出して線を引くと1ドット幅の線が描けるのに気付いた。通常の解像度ではこの線は表示されない。
// grid for retina iMac @Override public void paint (Graphics graphics) { super.paint(graphics); Graphics g = graphics.create(); g.setColor(Color.WHITE); g.drawLine(0, getHeight(), getWidth(), getHeight()); g.dispose(); }
左が JTable のグリッドを表示したもの,右が上記のコードで1ドット幅の線を引いたもの。
どうもバグを利用している感がある。 - JavaFX のフォントが今ひとつ汚くて,ヒラギノ丸ゴシックでごまかしていたが,Retina にしたら "Hiragino Sans" できれいに表示されるようになった。
- コマンドラインから起動したときには自動的に Retina 対応になるが,*.app から起動するときは,パッケージ内の info.plist に以下のキーを追加する必要がある。
<key>NSHighResolutionCapable</key> <true/>
これは,appbundler-1.0.jar の代わりに appbundler-1.0ea.jar を使うと自動的に入れてくれる。
画面の違いは想像以上に明らかで,Retina を見た後で普通の画面を見ると,ボケボケに見えてしまう。初めて PC-98XL の画面を見せてもらった時の感動を思い出した。
受付リスト (下が Retina)
文字のくっきり度が全然違った。
JavaFX で作った SchemaEditor (下が Retina)
SchemaEditor のアイコンを SVG で作っていたので,retina にして違いが際立った。
« XQuartz 2.7.9 アップデートではまる | トップページ | 診療中に ORCA の印刷止まる »
「OpenDolphin」カテゴリの記事
- オン資薬剤情報読み込み機能 (2)(2022.12.10)
- オン資薬剤情報読み込み機能(2022.08.17)