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

📄 handleborder.java

📁 《Java2图形设计卷II:Swing》配套光盘源码
💻 JAVA
字号:
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;

public class HandleBorder extends AbstractBorder {
	protected Color lineColor;
	protected int thick;

	public HandleBorder() {
		this(Color.black, 6);
	}
	public HandleBorder(Color lineColor, int thick) {
		this.lineColor = lineColor;
		this.thick = thick;
	}
	public void paintBorder(Component c, Graphics g, int x,
							int y, int w, int h) {
		Graphics copy = g.create();
		if(copy != null) {
			try {
				copy.translate(x,y);
				paintRectangle(c,copy,w,h);
				paintHandles(c,copy,w,h);
			}
			finally {
				copy.dispose();
			}
		}
	}
	public Insets getBorderInsets() {
		return new Insets(thick,thick,thick,thick);
	}
	protected void paintRectangle(Component c, Graphics g,
									int w, int h) {
		g.setColor(lineColor);
		g.drawRect(thick/2,thick/2,w-thick-1,h-thick-1);
	}
	protected void paintHandles(Component c, Graphics g,
									int w, int h) {
		g.setColor(lineColor);

		g.fillRect(0,0,thick,thick); // upper left
		g.fillRect(w-thick,0,thick,thick); // upper right
		g.fillRect(0,h-thick,thick,thick); // lower left
		g.fillRect(w-thick,h-thick,thick,thick); // lower right
		g.fillRect(w/2-thick/2,0,thick,thick); // mid top
		g.fillRect(0,h/2-thick/2,thick,thick); // mid left
		g.fillRect(w/2-thick/2,h-thick,thick,thick); // mid bottom
		g.fillRect(w-thick,h/2-thick/2,thick,thick); // mid right
	}	
}

⌨️ 快捷键说明

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