Swing/SystemColor のバックアップの現在との差分(No.13)
TITLE:SystemColorの使用
SystemColorの使用
編集者:Terai Atsuhiro~
作成日:2003-09-25
更新日:2021-11-27 (土) 09:12:58
概要
Swing
コンポーネントの色をSystemColor
クラスから取得します。
Screenshot
Advertisement
概要
Swingコンポーネントの色をSystemColorクラスから取得します。#screenshot(,screenshot1.png)
#screenshot(,screenshot2.png)
サンプルコード
#spanend
Color color = SystemColor.textHighlightText;
#spanadd
* サンプルコード [#sourcecode]
#spanend
#spanadd
#code(link){{
#spanend
#spanadd
Box box = Box.createVerticalBox();
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.desktop, "desktop"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.activeCaption, "activeCaption"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.inactiveCaption, "inactiveCaption"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.activeCaptionText, "activeCaptionText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.inactiveCaptionText, "inactiveCaptionText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.activeCaptionBorder, "activeCaptionBorder"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.inactiveCaptionBorder, "inactiveCaptionBorder"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.window, "window"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.windowText, "windowText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.menu, "menu"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.menuText, "menuText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.text, "text"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.textHighlight, "textHighlight"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.textText, "textText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.textHighlightText, "textHighlightText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.control, "control"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.controlLtHighlight, "controlLtHighlight"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.controlHighlight, "controlHighlight"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.controlShadow, "controlShadow"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.controlDkShadow, "controlDkShadow"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.controlText, "controlText"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.control, "control"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.scrollbar, "scrollbar"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.info, "info"));
#spanend
#spanadd
box.add(makeSystemColorPanel(SystemColor.infoText, "infoText"));
#spanend
- &jnlp;
- &jar;
- &zip;
解説
各プラットフォームのディスクトップデザインに対応したシステムカラーは、SystemColorクラスのstaticフィールドにまとめて定義されています。解説
各プラットフォームのデスクトップデザインに対応したシステムカラーは、SystemColor
クラスのstatic
フィールドにまとめて定義されています。例えばWindows
プラットフォームでデスクトップのカスタマイズでテーマなどを変更すると、このSystemColor
も動的にその変更に追従します。
参考リンク
- システムカラー
-
LookAndFeel
を変更してもSystemColor
は変化しない -
GTKLookAndFeel
がシステムデフォルトになる環境ではSystemColor
を取得不可
コメント
- Ubuntu などでは、SystemColorはあまりうまくいかないようです。UIManagerを使った方がいいかも。 -- terai