resizesquare.java

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

JAVA
58
字号
package com.catking.middle;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.*;
import org.eclipse.swt.events.*;
import org.eclipse.swt.graphics.Point;

import com.catking.mainFrm.SourceManager;

public class ResizeSquare extends Canvas{
	private static final int LEFT_RIGHT =  4;
	private static final int RIGHT_BUTTOM =  5;
	private static final int UP_DOWN =  6;

	private Point lastPoint = null;
	private int style;
	private Canvas canvas;
	private Shell shell;


	public ResizeSquare(Shell shell, int style, Canvas c){

		super(shell, SWT.BORDER);
		this.setCursor(SourceManager.curs[style]);
		this.style = style;
		this.canvas = c;
		this.shell = shell;

		this.setBackground(
				Display.getCurrent().getSystemColor(SWT.COLOR_BLUE));
		this.addDragDetectListener(new DragDetectListener(){

			public void dragDetected(DragDetectEvent e) {

				lastPoint = new Point(e.x, e.y);
			}

		});
		this.addMouseListener(new MouseAdapter(){

			public void mouseUp(MouseEvent e){

				if(lastPoint != null){

					resize(e.x, e.y);
					lastPoint = null;
				}
			}
		});


	}
	private void resize(int x, int y){

		canvas.setSize(canvas.getSize().x + x, canvas.getSize().y);
	}

}

⌨️ 快捷键说明

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