📄 easycolorpanel.java
字号:
import java.awt.Button;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JColorChooser;
import javax.swing.JPanel;
public class EasyColorPanel extends JPanel {
private Button blackButton;
private Button redButton;
private Button orangeButton;
private Button greenButton;
private Button brownButton;
private Button blueButton;
private Button moreColorButton;
private JPanel colorPanel;
private JPanel drawColorPanel;
private JPanel paintColorPanel;
private Button selectedButton;
private Button paintButton;
private ScreenCanvas screenCanvas;
private JColorChooser colorChooser;
public EasyColorPanel()
{
blackButton = new Button();
redButton = new Button();
orangeButton = new Button();
greenButton = new Button();
brownButton = new Button();
blueButton = new Button();
moreColorButton = new Button();
moreColorButton.setCursor(new Cursor(Cursor.HAND_CURSOR));
moreColorButton.setLabel("更多");
selectedButton = new Button();
paintButton = new Button();
colorChooser = new JColorChooser();
colorPanel = new JPanel();
drawColorPanel = new JPanel();
paintColorPanel = new JPanel();
drawColorPanel.add(selectedButton);
colorPanel.setLayout(new GridLayout(4,2,1,1));
colorPanel.add(blackButton);
colorPanel.add(redButton);
colorPanel.add(orangeButton);
colorPanel.add(greenButton);
colorPanel.add(brownButton);
colorPanel.add(blueButton);
colorPanel.add(moreColorButton);
drawColorPanel.add(selectedButton);
colorPanel.add(drawColorPanel);
drawColorPanel.setLayout(new GridLayout(1,1,1,1));
drawColorPanel.setBorder(BorderFactory.createTitledBorder("画笔颜色"));
paintColorPanel.setLayout(new GridLayout(1,1,1,1));
paintColorPanel.add(paintButton);
paintColorPanel.setBorder(BorderFactory.createTitledBorder("填充颜色"));
this.setLayout(new GridLayout(3,1,1,1));
this.add(colorPanel);
this.add(drawColorPanel);
this.add(paintColorPanel);
blackButton.setBackground(Color.BLACK);
redButton.setBackground(Color.RED);
orangeButton.setBackground(Color.ORANGE);
greenButton.setBackground(Color.GREEN);
blueButton.setBackground(Color.BLUE);
brownButton.setBackground(new Color(87,0,0));
selectedButton.setBackground(Color.BLACK);
paintButton.setBackground(Color.WHITE);
blackButton.addActionListener(new ButtonActionListener());
redButton.addActionListener(new ButtonActionListener());
orangeButton.addActionListener(new ButtonActionListener());
greenButton.addActionListener(new ButtonActionListener());
brownButton.addActionListener(new ButtonActionListener());
blueButton.addActionListener(new ButtonActionListener());
moreColorButton.addActionListener(new ButtonActionListener());
}
private class ButtonActionListener implements ActionListener {
/* (non-Javadoc)
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
*/
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
int drawToolType = screenCanvas.getDrawToolType();
Button object = drawToolType == 0? selectedButton : paintButton;
if(source.equals(blackButton))
{
object.setBackground(Color.BLACK);
screenCanvas.setDrawToolColor(Color.BLACK,drawToolType);
}
else if(source.equals(redButton))
{
object.setBackground(Color.RED);
screenCanvas.setDrawToolColor(Color.RED,drawToolType);
}
else if(source.equals(orangeButton))
{
object.setBackground(Color.ORANGE);
screenCanvas.setDrawToolColor(Color.ORANGE,drawToolType);
}
else if(source.equals(greenButton))
{
object.setBackground(Color.GREEN);
screenCanvas.setDrawToolColor(Color.GREEN,drawToolType);
}
else if(source.equals(brownButton))
{
object.setBackground(new Color(87,0,0));
screenCanvas.setDrawToolColor(new Color(87,0,0),drawToolType);
}
else if(source.equals(blueButton))
{
object.setBackground(Color.BLUE);
screenCanvas.setDrawToolColor(Color.BLUE,drawToolType);
}
else if(source.equals(moreColorButton))
{
Color color = colorChooser.showDialog(colorChooser, "颜色选择器", Color.WHITE);
object.setBackground(color);
screenCanvas.setDrawToolColor(color,drawToolType);
}
}
}
public ScreenCanvas getScreenPanel() {
return screenCanvas;
}
public void setScreenPanel(ScreenCanvas screenCanvas) {
this.screenCanvas = screenCanvas;
}
public Button getSelectedButton() {
return selectedButton;
}
public void setSelectedButton(Button selectedButton) {
this.selectedButton = selectedButton;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -