« WaitingListImpl の年齢と生年月日を分離 | トップページ | 受付マシンを Windows 10 にアップグレード »

2017年3月 9日 (木)

Independence from Quaqua

思い返せば,OpenDolphin 改造の最初の段階が Quaqua の導入であった。それ以来ずっと使用していて,本家が更新されなくなってからは自分で細々とメンテナンスをしていたが,今回少しがんばって Quaquaから独立した。

Mac の java は,JTabbedPane に wrap モードがない。スタンプ箱のようにタブ項目がたくさんある場合,wrap がない方がデザイン的にはすっきりするが,実用的にはタブは最初から全部見えた方がいいと思う。この JTabbedPane の wrap 表示が Quaqua 導入の目的の1つであった(下の画像の左)。その後,mac native design に似せた tabbed pane らしきものを独自に作ったため(下の画像の右),quaqua の JTabbedPane は使わなくなっていた。

Diagnosis2    Diagnow

もう一つ quaqua の機能で大きかったのが JSheet であった。これもそれっぽいものを java で作って置き換えた。Modal にするのに undecorated JDialog を使ったら,owner window が inactive になってしまってちょっとみっともない。Modal な JWindow ができればよいのだが,今後の検討課題とする。

Jsheet

その他のいろいろな見た目の細かいところも,UI と renderer を作って対応した。

  • JTable,JList,JTree のストライプ表示,selection color の active / inactive 切換

    Treeactive Treeinactive

  • JButton の default button 文字色の active / inactive 切換

    Buttonactive Buttonnonactive

  • JTextField の枠

    Textfield

« WaitingListImpl の年齢と生年月日を分離 | トップページ | 受付マシンを Windows 10 にアップグレード »

OpenDolphin」カテゴリの記事