colorpicklabel.java
来自「geotools的源码」· Java 代码 · 共 70 行
JAVA
70 行
package uk.ac.leeds.ccg.widgets;
import java.awt.*;
import java.beans.*;
//import javax.swing.Action;
public class ColorPickLabel extends java.awt.Label
{
private final static boolean DEBUG=false;
public ColorPickLabel(Color c){
super("["+c.getRed()+","+c.getGreen()+","+c.getBlue()+"]");
if(DEBUG)System.out.println("---->uk.ac.leeds.ccg.widgets.ColorPickLabel constructed. will identify itself as CoPL>");
setPickColor(c);
addMouseListener(new Clicked());
}
public java.awt.Color getPickColor()
{
//To do: Add code to calculate a value for the property...
return getBackground();
}
public void setPickColor(java.awt.Color propValue)
{
setBackground(propValue);
setText("["+propValue.getRed()+","+propValue.getGreen()+","+propValue.getBlue()+"]");
if(DEBUG)System.out.println("CoPL>Color set to ["+propValue.getRed()+","+propValue.getGreen()+","+propValue.getBlue()+"]");
changes.firePropertyChange("pickColor", getPickColor(), propValue);
}
public void removePropertyChangeListener(PropertyChangeListener listener)
{
changes.removePropertyChangeListener(listener);
}
public void addPropertyChangeListener(PropertyChangeListener listener)
{
changes.addPropertyChangeListener(listener);
}
class Clicked extends java.awt.event.MouseAdapter
{
public void mouseClicked(java.awt.event.MouseEvent e){
if(DEBUG)System.out.println("CoPL>Someone clicked on the color "+e.getClickCount());
if(e.getClickCount()==1){
Frame f = new Frame();
// f.setLocation(getLocationOnScreen());
if(DEBUG)System.out.println("CoPL>"+getLocationOnScreen());
ColorDialog cd = new ColorDialog(f,true,getBackground());
cd.setLocation(getLocationOnScreen());
cd.show();
setPickColor(cd.getColor());
}
}
}
protected PropertyChangeSupport changes = new PropertyChangeSupport(this);
public static void main(String argsp[]){
Frame f = new Frame();
f.setSize(200,200);
f.add(new ColorPickLabel(Color.green));
f.show();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?