Article View: cn.bbs.comp.lang.java
Article #418Swing��UIManager.getColorӦ��
From: cffile
Date: Wed, 17 Dec 2008 07:18
Date: Wed, 17 Dec 2008 07:18
76 lines
4102 bytes
4102 bytes
UIManager.getColor(Object key) ��ʹ��
������������ı任��ʱ�����Ǿ���Ҫ��ϵͳ��һЩ��ɫ����Ĭ��
���ã�����������任ʱ���������ɫ�Զ�ת������������Ӧ����ɫ
��һ��Ч��UIManager���ⷽ����һ�ֺܹؼ��Ӧ�á�
��UIManager(Java 2 Platform SE v1.4.2)���
public static Color getColor(Object key)ע���У�key��һ��ָ��
��ɫ�Ķ�����������Щ����ʹ����֪��
�����Ķ�jdk��Դ�������֪��������UIManager.getColor ��ʱ��
����ʵ��ͨ������[return getDefaults().getColor(key); ]���
��������ɫ�ġ���getDefaults() ������һ��UIDefaults����
����UIDefaults������ͨ��[Object value = get(key);]�����
��ɫ�Ķ���ͨ������õ���Ͳ�Ĵ��룬����֪������Щ�����б�
�DZ�����һ��Hashtable��UIDefaults�̳��� Hashtable���еģ���
Hashtable�ṩ��һ���ӿ�[public synchronized Enumeration keys()]
�������Щֵ��
��ˣ����ǿ���ͨ��һ�μĴ�������ÿ���ʹ�õ���ɫ��
�ؼ����
import java.awt.*;
import java.util.*;
import javax.swing.*;
public class UIManagerColorTest {
public UIManagerColorTest() {
}
public static void main(String[] args) {
UIDefaults uiDefaults = UIManager.getDefaults();
Enumeration enum = uiDefaults.keys();
while (enum.hasMoreElements()) {
Object key = enum.nextElement();
Object val = uiDefaults.get(key);
//�������ɫ�������ӡ
try {
Color color = (Color) val;
System.out.println("[" + key.toString() + "]");
}
catch (ClassCastException cce) {
}
}
}
}
���������г����Ľ��
[DesktopIcon.background]
[windowText]
[activeCaptionBorder]
....
Ӧ�ã�
ListCellRenderer
public class SAListCellRenderer extends JLabel implements ListCellRenderer {
private static final Border SELECTED_BORDER=BorderFactory.createLineBorder(UIManager.getColor("List.selectionBackground"));
private static final Border UNSELECTED_BORDER=BorderFactory.createLineBorder(UIManager.getColor("List.background"));
public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) {
if(cellHasFocus)
{//��ѡ��ʱ����ʾSELECTED_BORDER
this.setBorder(SELECTED_BORDER);
}
else
{//δ��ѡ��ʱ����ʾUNSELECTED_BORDER
this.setBorder(UNSELECTED_BORDER);
}
}
}
--
[m[1;31m�� ��Դ:�������ʵBBS bbs.tju.edu.cn��[FROM: 202.113.13.188][m
Technical Details
Message-ID:
<4dTKK3$ASN@bbs.tju.edu.cn>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder3.cambrium.nl!feeder4.cambrium.nl!feed.tweaknews.nl!193.141.40.65.MISMATCH!npeer.de.kpn-eurorings.net!npeer-ng1.de.kpn-eurorings.net!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!news.isoc.lu!news.shec6.edu.cn!news.byr.edu.cn!TJUShow Full Headers
Complete Article Headers
X-Google-Thread: f6cb0,701efa7bd4e05018,start X-Google-Attributes: gidf6cb0,domainid0,public,usenet X-Google-Language: Chinese,GB Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder3.cambrium.nl!feeder4.cambrium.nl!feed.tweaknews.nl!193.141.40.65.MISMATCH!npeer.de.kpn-eurorings.net!npeer-ng1.de.kpn-eurorings.net!news-out1.kabelfoon.nl!newsfeed.kabelfoon.nl!xindi.nntp.kabelfoon.nl!news.isoc.lu!news.shec6.edu.cn!news.byr.edu.cn!TJU From: cffile.bbs@bbs.tju.edu.cn.no.spam (cffile) Newsgroups: cn.bbs.comp.lang.java Subject: Swing��UIManager.getColorӦ�� Date: 17 Dec 2008 07:18:27 GMT Organization: �����ʵBBSվ Message-ID: <4dTKK3$ASN@bbs.tju.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: Java/M.1229498307.A