/* Listing3216.java */ import java.awt.*; import java.awt.event.*; class NamedSystemColors { String[] names; SystemColor[] colors; public NamedSystemColors() { names = new String[SystemColor.NUM_COLORS]; colors = new SystemColor[SystemColor.NUM_COLORS]; names [ 0] = "desktop"; colors[ 0] = SystemColor.desktop; names [ 1]= "activeCaption"; colors[ 1] = SystemColor.activeCaption; names [ 2] = "activeCaptionText"; colors[ 2] = SystemColor.activeCaptionText; names [ 3] = "activeCaptionBorder"; colors[ 3] = SystemColor.activeCaptionBorder; names [ 4] = "inactiveCaption"; colors[ 4] = SystemColor.inactiveCaption; names [ 5] = "inactiveCaptionText"; colors[ 5] = SystemColor.inactiveCaptionText; names [ 6] = "inactiveCaptionBorder"; colors[ 6] = SystemColor.inactiveCaptionBorder; names [ 7] = "window"; colors[ 7] = SystemColor.window; names [ 8] = "windowBorder"; colors[ 8] = SystemColor.windowBorder; names [ 9] = "windowText"; colors[ 9] = SystemColor.windowText; names [10] = "menu"; colors[10] = SystemColor.menu; names [11] = "menuText"; colors[11] = SystemColor.menuText; names [12] = "text"; colors[12] = SystemColor.text; names [13] = "textText"; colors[13] = SystemColor.textText; names [14] = "textHighlight"; colors[14] = SystemColor.textHighlight; names [15] = "textHighlightText"; colors[15] = SystemColor.textHighlightText; names [16] = "textInactiveText"; colors[16] = SystemColor.textInactiveText; names [17] = "control"; colors[17] = SystemColor.control; names [18] = "controlText"; colors[18] = SystemColor.controlText; names [19] = "controlHighlight"; colors[19] = SystemColor.controlHighlight; names [20] = "controlLtHighlight"; colors[20] = SystemColor.controlLtHighlight; names [21] = "controlShadow"; colors[21] = SystemColor.controlShadow; names [22] = "controlDkShadow"; colors[22] = SystemColor.controlDkShadow; names [23] = "scrollbar"; colors[23] = SystemColor.scrollbar; names [24] = "info"; colors[24] = SystemColor.info; names [25] = "infoText"; colors[25] = SystemColor.infoText; } public int getSize() { return SystemColor.NUM_COLORS; } public String getName(int i) { return names[i]; } public SystemColor getColor(int i) { return colors[i]; } } class SystemColorViewer extends Canvas { NamedSystemColors colors; public SystemColorViewer() { colors = new NamedSystemColors(); } public Dimension getPreferredSize() { return new Dimension(150,16 + colors.getSize() * 20); } public void paint(Graphics g) { for (int i = 0; i < colors.getSize(); ++i) { //Rahmen für Farbbox g.setColor(Color.black); g.drawRect(10,16+20*i,16,16); //Farbbox g.setColor(colors.getColor(i)); g.fillRect(11,17+20*i,15,15); //Bezeichnung g.setColor(Color.black); g.drawString(colors.getName(i),30,30+20*i); } } } public class Listing3216 extends Frame { public static void main(String[] args) { Listing3216 wnd = new Listing3216(); wnd.setLocation(200,100); wnd.setVisible(true); } public Listing3216() { super("ScrollPane"); setBackground(Color.lightGray); //ScrollPane ScrollPane sc = new ScrollPane( ScrollPane.SCROLLBARS_AS_NEEDED ); sc.add(new SystemColorViewer()); sc.getVAdjustable().setUnitIncrement(1); sc.getHAdjustable().setUnitIncrement(1); sc.setSize(200,200); add(sc); //Window-Listener addWindowListener(new WindowClosingAdapter(true)); //Dialogelement anordnen pack(); } }