colorgrid.java

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

JAVA
50
字号
package com.catking.buttom;

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


public class ColorGrid extends Canvas{
	
	private Color color;
	private ColorPane parent;
	
	public ColorGrid(ColorPane parent, Color color, int id){
		
		super(parent, SWT.BORDER);
		
		if(color == null){
			this.color = Display.getDefault().getSystemColor(id);
		}
		else
			this.color = color;
		this.setBackground(this.color);
		this.parent = parent;
		hookEvent();
	}
	
	private void hookEvent(){
		this.addMouseListener(new MouseAdapter(){

			@Override
			public void mouseDoubleClick(MouseEvent e) {
				// TODO Auto-generated method stub
				ColorDialog cd = new ColorDialog(Display.getCurrent().getShells()[0]);
				color = new Color(Display.getCurrent(),cd.open());
				parent.setCurrentColor(color);
				ColorGrid.this.setBackground(color);
				
			}
			@Override
			public void mouseUp(MouseEvent e) {
				// TODO Auto-generated method stub
				
				parent.setCurrentColor(color);
			}
			
		});
	}
}

⌨️ 快捷键说明

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