Mercurial > hg > release > thermostat-1.0
changeset 1298:906722e44c37
Make it easy to examine Palette
Reviewed-by: vanaltj
Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2013-November/008608.html
author | Omair Majid <omajid@redhat.com> |
---|---|
date | Mon, 04 Nov 2013 16:11:51 -0500 |
parents | 0f8feaacab68 |
children | 02a031166d98 |
files | client/core/src/test/java/com/redhat/thermostat/client/ui/PaletteDisplayTool.java |
diffstat | 1 files changed, 96 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/core/src/test/java/com/redhat/thermostat/client/ui/PaletteDisplayTool.java Mon Nov 04 16:11:51 2013 -0500 @@ -0,0 +1,96 @@ +/* + * Copyright 2012, 2013 Red Hat, Inc. + * + * This file is part of Thermostat. + * + * Thermostat is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published + * by the Free Software Foundation; either version 2, or (at your + * option) any later version. + * + * Thermostat is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Thermostat; see the file COPYING. If not see + * <http://www.gnu.org/licenses/>. + * + * Linking this code with other modules is making a combined work + * based on this code. Thus, the terms and conditions of the GNU + * General Public License cover the whole combination. + * + * As a special exception, the copyright holders of this code give + * you permission to link this code with independent modules to + * produce an executable, regardless of the license terms of these + * independent modules, and to copy and distribute the resulting + * executable under terms of your choice, provided that you also + * meet, for each linked independent module, the terms and conditions + * of the license of that module. An independent module is a module + * which is not derived from or based on this code. If you modify + * this code, you may extend this exception to your version of the + * library, but you are not obligated to do so. If you do not wish + * to do so, delete this exception statement from your version. + */ + +package com.redhat.thermostat.client.ui; + +import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Graphics; +import java.awt.GridLayout; + +import javax.swing.JComponent; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JScrollPane; +import javax.swing.SwingUtilities; + + +public class PaletteDisplayTool { + + public static void main(String[] args) { + SwingUtilities.invokeLater(new Runnable() { + + @Override + public void run() { + JFrame mainWindow = new JFrame(); + JPanel colorGrid = new JPanel(new GridLayout(0, 2)); + + for (Palette p : Palette.values()) { + colorGrid.add(new JLabel(p.name())); + colorGrid.add(new ColorBox(p.getColor())); + } + + JScrollPane scrollPane = new JScrollPane(colorGrid); + + mainWindow.add(scrollPane, BorderLayout.CENTER); + + mainWindow.pack(); + mainWindow.setVisible(true); + + } + }); + } + + private static class ColorBox extends JComponent { + + private Color color; + + public ColorBox(Color color) { + this.color = color; + } + + @Override + protected void paintComponent(Graphics g) { + super.paintComponent(g); + + g = g.create(); + g.setColor(color); + g.fillRect(0, 0, getWidth(), getHeight()); + g.dispose(); + } + } +}