📄 colorpanel.java
字号:
//ColorPanel.java
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
* ColorToolbar
* @author
* @version 1.0 05/24/03
*/
/*
interface WidgeMediator
{
void widgeChanged(Component widge);
}
//*/
class ColorButton extends JButton
{
private Color c;
public ColorButton(Color c) {
super("123");
this.c = c;
}
public Color getColor() {return c;}
public void setColor(Color c) {
this.c = c;
repaint();
}
public void paint(Graphics g) {
g.setColor(c);
g.fill3DRect(0, 0, getWidth(), getHeight(), true);
}
}
class ColorPanel extends JToolBar implements ActionListener
{
private WidgeMediator mediator;
private JButton chooseColor = new JButton("Custom");
private ColorButton curColor = new ColorButton(Color.black);
private ColorButton customColor = new ColorButton(Color.white);
private ColorButton colors[]={ new ColorButton(Color.black),
new ColorButton(Color.blue),
new ColorButton(Color.cyan),
new ColorButton(Color.darkGray),
new ColorButton(Color.gray),
new ColorButton(Color.green),
new ColorButton(Color.lightGray),
new ColorButton(Color.magenta),
new ColorButton(Color.orange),
new ColorButton(Color.pink),
new ColorButton(Color.red),
new ColorButton(Color.white),
new ColorButton(Color.yellow)
};
public ColorPanel(WidgeMediator m) {
mediator = m;
setLayout(new FlowLayout());
add(curColor);
add(new JLabel("Select"));
for(int i=0; i<colors.length; ++i){
add(colors[i]);
colors[i].addActionListener(this);
}
add(chooseColor);
chooseColor.addActionListener(this);
add(customColor);
customColor.addActionListener(this);
}
public Color getColor() {return curColor.getColor();}
public void actionPerformed(ActionEvent e) {
Object src = e.getSource();
if(src == chooseColor) {
Color c = JColorChooser.showDialog(null, "Choose Color", customColor.getColor());
if(c != null)
customColor.setColor(c);
} else {
curColor.setColor( ((ColorButton)src).getColor() );
mediator.widgeChanged(this);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -