?? colorchooser.java
字號:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
/** This class display a color box with a caption and allows the user to edit the color. */
class ColorChooser extends JPanel{
private ColorButton button;
private JPanel panel;
ColorChooser(String cap,Color c){
setLayout(new GridLayout(0,2));
add(new DialogLabel(cap),BorderLayout.WEST);
add(button=new ColorButton(c),BorderLayout.EAST);
}
public void setColor(Color c){
button.setColor(c);
}
public Color getColor(){
return button.getColor();
}
}
class ColorButton extends JPanel{
TempPanel panel;
ColorButton(Color c){
super(new FlowLayout(FlowLayout.RIGHT));
add(panel=new TempPanel(c));
}
public void setColor(Color c){
panel.setColor(c);
}
public Color getColor(){
return panel.getColor();
}
}
class TempPanel extends JPanel{
private Color c;
private boolean flag=true;
private JColorChooser jcc;
private JPanel p;
TempPanel(Color c){
this.c=c;
p=this;
int height=20;
setPreferredSize(new Dimension(height*3,height));
setBorder(new BevelBorder(BevelBorder.RAISED));
addMouseListener(new MouseAdapter(){
public void mousePressed(MouseEvent m){
setBorder(new BevelBorder(BevelBorder.LOWERED));
repaint();
}
public void mouseReleased(MouseEvent m){
setBorder(new BevelBorder(BevelBorder.RAISED));
repaint();
}
public void mouseClicked(MouseEvent m){
if(flag==false)
return;
flag=false;
Color color=jcc.showDialog(p,"Edit colors",
getColor());
if(color!=null)
setColor(color);
flag=true;
}
});
}
public void setColor(Color c){
this.c=c;
repaint();
}
public Color getColor(){
return c;
}
public void paint(Graphics g){
super.paint(g);
g.setColor(c);
int indent=getHeight()/5;
g.fillRect(indent,indent,getWidth()-2*indent,getHeight()-2*indent);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -