【Java开源代码栏目提醒】:网学会员为需要Java开源代码的朋友们搜集整理了ColorPicker.java相关资料,希望对各位网友有所帮助!
// Processed by NMI's Java Code Viewer 5.0 ?1997-2001 B. Lemaire
// Website: http://njcv.htmlplanet.com E-mail: 3710167@qq.com.com
// Copy registered to Evaluation Copy
// Source File Name: colorpicker.java
package color;
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class ColorPicker extends Applet
implements MouseListener, MouseMotionListener, ActionListener {
CanvasHS chs;
CanvasB cb;
TextField tf_r;
TextField tf_g;
TextField tf_b;
TextField tf_hc;
Button submit_btn;
Canvas cc;
private void processEvent(MouseEvent mouseevent) {
if(mouseevent.getComponent() instanceof CanvasHS) {
cb.refresh(chs.getColorAt(mouseevent.getX(), mouseevent.getY()));
cb.repaint();
Color color = cb.getColor();
tf_r.setText(Integer.toString(color.getRed()));
tf_g.setText(Integer.toString(color.getGreen()));
tf_b.setText(Integer.toString(color.getBlue()));
tf_hc.setText(Integer.toHexString(color.getRGB() & 0xffffff).toUpperCase());
cc.setBackground(color);
showStatus("#"+Integer.toHexString(color.getRGB() & 0xffffff).toUpperCase());
}
if(mouseevent.getComponent() instanceof CanvasB) {
Color color1 = cb.getColorAt(mouseevent.getX(), mouseevent.getY());
tf_r.setText(Integer.toString(color1.getRed()));
tf_g.setText(Integer.toString(color1.getGreen()));
tf_b.setText(Integer.toString(color1.getBlue()));
tf_hc.setText(Integer.toHexString(color1.getRGB() & 0xffffff).toUpperCase());
cb.setCursor(mouseevent.getY());
cb.repaint();
cc.setBackground(color1);
showStatus("#"+Integer.toHexString(color1.getRGB() & 0xffffff).toUpperCase());
}
}
public void mouseClicked(MouseEvent mouseevent) {
processEvent(mouseevent);
}
public void mousePressed(MouseEvent mouseevent) {
}
public void mouseDragged(MouseEvent mouseevent) {
processEvent(mouseevent);
}
public void paint(Graphics g) {
}
public void mouseReleased(MouseEvent mouseevent) {
}
public void mouseMoved(MouseEvent mouseevent) {
}
public ColorPicker() {
chs = new CanvasHS();
cb = new CanvasB();
tf_r = new TextField("127", 2);
tf_g = new TextField("127", 2);
tf_b = new TextField("127", 2);
tf_hc = new TextField("808080", 6);
//submit_btn = new Button("显示颜色");
cc = new Canvas();
}
public void mouseEntered(MouseEvent mouseevent) {
}
public void mouseExited(MouseEvent mouseevent) {
}
public void actionPerformed(ActionEvent actionevent) {
if(actionevent.getActionCommand().equals("显示颜色"))
try {
if(Integer.parseInt(tf_r.getText()) > 255)
tf_r.setText("255");
if(Integer.parseInt(tf_g.getText()) > 255)
tf_g.setText("255");
if(Integer.parseInt(tf_b.getText()) > 255)
tf_b.setText("255");
Color color = new Color(Integer.parseInt(tf_r.getText()), Integer.parseInt(tf_g.getText()), Integer.parseInt(tf_b.getText()));
tf_hc.setText(Integer.toHexString(color.getRGB() & 0xffffff).toUpperCase());
cb.setCursor(cb.size().height / 2);
cb.refresh(color);
cc.setBackground(color);
showStatus("#"+Integer.toHexString(color.getRGB() & 0xffffff).toUpperCase());
}
catch(NumberFormatException e) {
showStatus("Wrong number format entered");
}
}
public void init() {
setLayout(new BorderLayout());
setBackground(Color.white);
Panel panel = new Panel(new FlowLayout(1, 20, 20));
Panel panel1 = new Panel(new FlowLayout(1, 20, 20));
chs.addMouseMotionListener(this);
chs.addMouseListener(this);
cb.addMouseMotionListener(this);
cb.addMouseListener(this);
panel.add(chs);
panel.add(cb);
cc.resize(50, 50);
cc.setBackground(Color.gray);
//submit_btn.addActionListener(this);
add(panel, "North");
panel1.add(new Label("红:"));
panel1.add(tf_r);
panel1.add(new Label("绿:"));
panel1.add(tf_g);
panel1.add(new Label("蓝:"));
panel1.add(tf_b);
panel1.add(new Label("颜色代码:"));
panel1.add(tf_hc);
panel1.add(cc);
//panel1.add(submit_btn);
add(panel1, "Center");
}
public static void main(String []args)
{
ColorPicker c = new ColorPicker();
c.init();
}
}