• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:DesktopPropertyの変更を監視する
#navi(../)
RIGHT:Posted by [[terai]] at 2010-03-29
*DesktopPropertyの変更を監視する [#c48a40cd]
ToolkitにPropertyChangeListenerを追加して、ダブルクリックの速度などの変更を監視します。
---
category: swing
folder: DesktopProperty
title: DesktopPropertyの変更を監視する
tags: [Toolkit, PropertyChangeListener]
author: aterai
pubdate: 2010-03-29T15:07:50+09:00
description: ToolkitにPropertyChangeListenerを追加して、ダブルクリックの速度などの変更を監視します。
image: https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTKxXuJ4EI/AAAAAAAAAWg/utfOkK69KBk/s800/DesktopProperty.png
---
* 概要 [#summary]
`Toolkit`に`PropertyChangeListener`を追加して、ダブルクリックの速度などの変更を監視します。

-&jnlp;
-&jar;
-&zip;
#download(https://lh3.googleusercontent.com/_9Z4BYR88imo/TQTKxXuJ4EI/AAAAAAAAAWg/utfOkK69KBk/s800/DesktopProperty.png)

#screenshot

**サンプルコード [#g949818a]
#code{{
Toolkit.getDefaultToolkit().addPropertyChangeListener("awt.multiClickInterval", new PropertyChangeListener() {
  public void propertyChange(PropertyChangeEvent e) {
    System.out.println("----\n"+e.getPropertyName());
* サンプルコード [#sourcecode]
#code(link){{
Toolkit.getDefaultToolkit().addPropertyChangeListener(
    "awt.multiClickInterval", new PropertyChangeListener() {
  @Override public void propertyChange(PropertyChangeEvent e) {
    System.out.println("----\n" + e.getPropertyName());
    System.out.println(Toolkit.getDefaultToolkit().getDesktopProperty(e.getPropertyName()));
  }
});
}}

**解説 [#fc286297]
上記のサンプルでは、ToolkitにPropertyChangeListenerを追加して、ダブルクリックの速度と、Windows環境での画面の配色(画面のプロパティ、デザイン、配色の規定(青)、オーブ グリーン、シルバー)の変更を監視しています。
* 解説 [#explanation]
上記のサンプルでは、`Toolkit`に`PropertyChangeListener`を追加してダブルクリックの速度と`Windows`環境での画面の配色(画面のプロパティ、デザイン、配色の規定(青)、オリーブグリーン、シルバー)の変更を監視しています。

その他、サポートされているWindows デスクトップ関連のプロパティー一覧は、以下のようにして取得することができます。
- [[Windows デスクトップ関連のプロパティーのサポート>http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/swing/1.4/w2k_props.html]]のサンプルより
- その他のサポートされている`Windows`デスクトップ関連のプロパティー一覧は、以下で取得可能
-- [https://docs.oracle.com/javase/jp/8/docs/technotes/guides/swing/1.4/w2k_props.html Windowsデスクトップ関連のプロパティのサポート]

#code{{
import java.awt.*;
public class DesktopPropertyList {
  public static void main(String[] args) {
    for(String s:(String[])Toolkit.getDefaultToolkit().getDesktopProperty("win.propNames"))
    for (String s: (String[]) Toolkit.getDefaultToolkit().getDesktopProperty("win.propNames"))
      System.out.println(s);
  }
}
}}

**参考リンク [#r4ad71c4]
- [[Windows デスクトップ関連のプロパティーのサポート>http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/swing/1.4/w2k_props.html]]
- [[Swing - Should UIManager fire propertyChangeEvents here?>http://forums.sun.com/thread.jspa?threadID=5425647]]
* 参考リンク [#reference]
- [https://docs.oracle.com/javase/jp/8/docs/technotes/guides/swing/1.4/w2k_props.html Windowsデスクトップ関連のプロパティのサポート]
- [https://community.oracle.com/thread/1352133 Swing - Should UIManager fire propertyChangeEvents here?]

**コメント [#yb7ef312]
- メモ: [[Windows デスクトップ関連のプロパティーのサポート>http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/swing/1.4/w2k_props.html]]の、(TBI)の意味を調べる。「メッセージボックスのフォントカラー」のプロパティー名は文字化け?、重複?。同じく、アイコンのサイズとアイコンの横の間隔など。 -- [[terai]] &new{2010-03-29 (月) 15:07:50};
* コメント [#comment]
#comment
- [https://docs.oracle.com/javase/jp/8/docs/technotes/guides/swing/1.4/w2k_props.html Windows デスクトップ関連のプロパティーのサポート]の(`TBI`)の意味を調べること。「メッセージボックスのフォントカラー」のプロパティー名は文字化け?、重複?。同じく、アイコンのサイズとアイコンの横の間隔など。 -- &user(aterai); &new{2010-03-29 (月) 15:07:50};

#comment