colorpane.java

来自「java实现的简单的画图软件」· Java 代码 · 共 138 行

JAVA
138
字号
package com.catking.buttom;

import org.eclipse.swt.widgets.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.*;


public class ColorPane extends Composite {
	private Color currentColor;
	private CurrentColorGrid  grid;
	
	public ColorPane(Composite shell){
		super(shell, SWT.BORDER);
		
		this.currentColor = 
				Display.getDefault().getSystemColor(SWT.COLOR_BLUE);
		buildGUI();
		
	}
	
	private void buildGUI(){
		
				
		FormLayout layout = new FormLayout();
		this.setLayout(layout);
		
		grid = new CurrentColorGrid(this);
		Rectangle rect = grid.getBounds();
		final int GRID = rect.height / 2;
		
				
		FormData data = new FormData(rect.width, rect.height);
		data.left = new FormAttachment(0, 5);
		data.top = new FormAttachment(0, 5);
		grid.setLayoutData(data);
		
		ColorGrid cg_black = new ColorGrid(this, null, SWT.COLOR_BLACK);
		ColorGrid cg_white = new ColorGrid(this, null, SWT.COLOR_WHITE);
		ColorGrid cg_red = new ColorGrid(this, null, SWT.COLOR_RED);
		ColorGrid cg_gray = new ColorGrid(this, null, SWT.COLOR_GRAY);
		ColorGrid cg_blue = new ColorGrid(this, null, SWT.COLOR_BLUE);
		ColorGrid cg_cyan = new ColorGrid(this, null, SWT.COLOR_CYAN);
		ColorGrid cg_green = new ColorGrid(this, null, SWT.COLOR_GREEN);
		ColorGrid cg_magenta = new ColorGrid(this, null, SWT.COLOR_DARK_MAGENTA);
		ColorGrid cg_yellow = new ColorGrid(this, null, SWT.COLOR_DARK_YELLOW);
		ColorGrid cg_dark_red = new ColorGrid(this, null, SWT.COLOR_DARK_RED);
		ColorGrid cg_dark_magenta = new ColorGrid(this, null, SWT.COLOR_DARK_MAGENTA);
		ColorGrid cg_dark_blue = new ColorGrid(this, null, SWT.COLOR_DARK_BLUE);
		ColorGrid cg_dark_cyan = new ColorGrid(this, null, SWT.COLOR_DARK_CYAN);
		ColorGrid cg_dark_yellow = new ColorGrid(this, null, SWT.COLOR_DARK_YELLOW);
		
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(grid, 0);
		data.top = new FormAttachment(0, 5);
		cg_black.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_black, 0);
		data.top = new FormAttachment(0, 5);
		cg_red.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_red, 0);
		data.top = new FormAttachment(0, 5);
		cg_blue.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_blue, 0);
		data.top = new FormAttachment(0, 5);
		cg_green.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_green, 0);
		data.top = new FormAttachment(0, 5);
		cg_yellow.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_yellow, 0);
		data.top = new FormAttachment(0, 5);
		cg_dark_magenta.setLayoutData(data);
		data = new FormData(GRID, GRID);
		
		data.left = new FormAttachment(cg_dark_magenta, 0);
		data.top = new FormAttachment(0, 5);
		cg_dark_cyan.setLayoutData(data);
		/////////////////////////////
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(grid, 0);
		data.top = new FormAttachment(cg_black, 0);
		cg_white.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_white, 0);
		data.top = new FormAttachment(cg_red, 0);
		cg_gray.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_gray, 0);
		data.top = new FormAttachment(cg_blue, 0);
		cg_cyan.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_cyan, 0);
		data.top = new FormAttachment(cg_green, 0);
		cg_magenta.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_magenta, 0);
		data.top = new FormAttachment(cg_yellow, 0);
		cg_dark_red.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_dark_red, 0);
		data.top = new FormAttachment(cg_dark_magenta, 0);
		cg_dark_blue.setLayoutData(data);
		
		data = new FormData(GRID, GRID);
		data.left = new FormAttachment(cg_dark_blue, 0);
		data.top = new FormAttachment(cg_dark_cyan, 0);
		cg_dark_yellow.setLayoutData(data);
		
	}
	public void setCurrentColor(Color color){
		
		this.currentColor = color;
		grid.redraw();
	}
	public Color getCurrentColor(){
		
		return  this.currentColor;
	}
	
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?