⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 easycolorpanel.java

📁 基于java Swing的一款简单的2D图形绘制软件程序
💻 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 + -