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

📄 cursors.java

📁 一个简易的java画图软件
💻 JAVA
字号:
package draw;

import java.awt.Color;
import java.awt.Cursor;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.Point;
import java.awt.Polygon;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;

/**
 * 一些自创的光标
 * 
 * @author Thihy
 * 
 */
public class Cursors {
	/**
	 * 创建切变光标
	 * 
	 * @param style
	 *            样式
	 * @return 光标的图形
	 */
	protected static Image creatShearCursorImage(int style) {
		BufferedImage bi = new BufferedImage(32, 32,
				BufferedImage.TYPE_4BYTE_ABGR);

		Graphics2D g = bi.createGraphics();
		g.rotate(style * Math.PI / 4, 16, 16);
		g.setColor(Color.black);
		g.drawLine(8, 15, 24, 15);
		g
				.fill(new Polygon(new int[] { 8, 11, 11 }, new int[] { 15, 12,
						15 }, 3));
		g.drawLine(8, 17, 24, 17);
		g.fill(new Polygon(new int[] { 24, 21, 21 }, new int[] { 17, 20, 17 },
				3));

		return bi;
	}

	/**
	 * 获取指定的光标
	 * 
	 * @param Style
	 *            样式
	 * @return 光标
	 */
	public static Cursor getCursor(int Style) {
		switch (Style) {
		case N_SHEAR_CURSOR:
		case S_SHEAR_CURSOR:
			return Toolkit.getDefaultToolkit().createCustomCursor(
					creatShearCursorImage(0), new Point(15, 16), "Cursor");
		case E_SHEAR_CURSOR:
		case W_SHEAR_CURSOR:
			return Toolkit.getDefaultToolkit().createCustomCursor(
					creatShearCursorImage(2), new Point(15, 16), "Cursor");
		case NW_SHEAR_CURSOR:
		case SE_SHEAR_CURSOR:
			return Toolkit.getDefaultToolkit().createCustomCursor(
					creatShearCursorImage(-1), new Point(15, 16), "Cursor");
		case SW_SHEAR_CURSOR:
		case NE_SHEAR_CURSOR:
			return Toolkit.getDefaultToolkit().createCustomCursor(
					creatShearCursorImage(1), new Point(15, 16), "Cursor");
		default:
			return Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
		}
	}

	/**
	 * 在正八边形北边界上切边的图标,为左右向。
	 */
	public static final int N_SHEAR_CURSOR = 0;
	/**
	 * 在正八边形东边界上切边的图标,为上下向。
	 */
	public static final int E_SHEAR_CURSOR = 2;
	/**
	 * 在正八边形南边界上切边的图标,为左右向。
	 */
	public static final int S_SHEAR_CURSOR = 4;
	/**
	 * 在正八边形西边界上切边的图标,为上下向。
	 */
	public static final int W_SHEAR_CURSOR = 6;
	/**
	 * 在正八边形东北边界上切边的图标,为左上-右下向。
	 */
	public static final int NE_SHEAR_CURSOR = 1;
	/**
	 * 在正八边形西北边界上切边的图标,为左下-右上向。
	 */
	public static final int NW_SHEAR_CURSOR = 7;
	/**
	 * 在正八边形东南边界上切边的图标,为左下-右上向。
	 */
	public static final int SE_SHEAR_CURSOR = 3;
	/**
	 * 在正八边形西南边界上切边的图标,为左上-右下向。
	 */
	public static final int SW_SHEAR_CURSOR = 5;
}

⌨️ 快捷键说明

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