/*
* $Id: ColorEntryPanel.java,v 1.2 2003/08/22 23:02:39 dwd Exp $
*
* This software is provided by NOAA for full, free and open release. It is
* understood by the recipient/user that NOAA assumes no liability for any
* errors contained in the code. Although this software is released without
* conditions or restrictions in its use, it is expected that appropriate
* credit be given to its author and to the National Oceanic and Atmospheric
* Administration should the software be included by the recipient as an
* element in other product development.
*/
package sgtplot.swing.prop;
import javax.swing.*;
import sgtplot.pmel.swing.ThreeDotsButton;
import java.awt.event.*;
import java.awt.*;
/**
* @author Donald Denbo
* @version $Revision: 1.2 $, $Date: 2003/08/22 23:02:39 $
* @since 3.0
**/
public class ColorEntryPanel extends JComponent {
// private ThreeDotsIcon dotsIcon_ = new ThreeDotsIcon(Color.black);
private JLabel redLabel = new JLabel();
private JLabel greenLabel = new JLabel();
private JLabel blueLabel = new JLabel();
private JLabel alphaLabel = new JLabel();
private JTextField redTF = new JTextField();
private JTextField greenTF = new JTextField();
private JTextField blueTF = new JTextField();
private JTextField alphaTF = new JTextField();
private ThreeDotsButton button = new ThreeDotsButton();
private FlowLayout fLayout = new FlowLayout();
private Color color_ = Color.black;
private String title_ = "Set Color";
public ColorEntryPanel(String title, Color color) {
super();
setColor(color);
setTitle(title);
}
public ColorEntryPanel() {
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
private void jbInit() throws Exception {
setLayout(fLayout);
redLabel.setText("red");
greenLabel.setText("green");
blueLabel.setText("blue");
alphaLabel.setText("alpha");
redTF.setText("0");
redTF.setColumns(3);
greenTF.setText("0");
greenTF.setColumns(3);
blueTF.setText("0");
blueTF.setColumns(3);
alphaTF.setText("0");
alphaTF.setColumns(3);
button.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
button_actionPerformed(e);
}
});
button.setToolTipText("Edit color.");
button.setActionCommand("...");
add(redLabel);
add(redTF);
add(greenLabel);
add(greenTF);
add(blueLabel);
add(blueTF);
add(alphaLabel);
add(alphaTF);
add(button);
boolean enabled = isEnabled();
redTF.setEnabled(enabled);
greenTF.setEnabled(enabled);
blueTF.setEnabled(enabled);
alphaTF.setEnabled(enabled);
button.setEnabled(enabled);
}
public void setEnabled(boolean enabled) {
super.setEnabled(enabled);
redTF.setEnabled(enabled);
greenTF.setEnabled(enabled);
blueTF.setEnabled(enabled);
alphaTF.setEnabled(enabled);
button.setEnabled(enabled);
}
void button_actionPerformed(ActionEvent e) {
Window win = javax.swing.SwingUtilities.getWindowAncestor(this);
ColorDialog cd = null;
if(win instanceof Frame) {
cd = new ColorDialog((Frame)win, title_, true);
} else if(win instanceof Dialog) {
cd = new ColorDialog((Dialog)win, title_, true);
} else {
cd = new ColorDialog((Frame)null, title_, true);
}
cd.setColor(getColorFromTF());
cd.setVisible(true);
setColor(cd.getColor());
}
public void setColor(Color color) {
color_ = color;
redTF.setText(Integer.toString(color_.getRed()));
greenTF.setText(Integer.toString(color_.getGreen()));
blueTF.setText(Integer.toString(color_.getBlue()));
alphaTF.setText(Integer.toString(color_.getAlpha()));
}
public Color getColor() {
return getColorFromTF();
}
private Color getColorFromTF() {
int red = Integer.parseInt(redTF.getText());
int green = Integer.parseInt(greenTF.getText());
int blue = Integer.parseInt(blueTF.getText());
int alpha = Integer.parseInt(alphaTF.getText());
return new Color(red, green, blue, alpha);
}
public void setTitle(String title) {
title_ = title;
}
public String getTitle() {
return title_;
}
}
Ads help maintain this website.