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

📄 line.java

📁 Java画板
💻 JAVA
字号:
package test.paint;

import java.awt.*;
import java.awt.event.MouseEvent;

/**
 * Line类,实现画直线的功能
 * 作者:王珍,钟雯
 * 初始时间:2007 5-17
 * 最后一次修改时间:2007 6-17
 */

public class Line extends RectBoundedShape {
	
	/**
	 *无参构造函数
	 */
    public Line() {
        super();
    }
    /**
     *调用父类的函数
     */
    public Line(Color c, Stroke s, int x, int y) {
        super(c, s, x, y);
    }
    
     /**
     *作者:钟雯
     * 初始时间:2007 5-17
     * 最后一次修改时间:2007 6-17
     */
    public Line(Color c, Stroke s, int x, int y, int a, int b)
    {
    	super(c, s, x, y);
    	endX = a;
    	endY = b;
    }
    
    /**
     *记录鼠标按下时的起始点和鼠标松开的终止点
     * tan(30) = 0.577;
     * tan(60) = 1.155;
     */
    public void processCursorEvent(MouseEvent e, int t) {
        if (t != MyShape.CURSOR_DRAGGED)
            return;
        int x = e.getX();
        int y = e.getY();
        if (e.isShiftDown()) {
            if (x - startX == 0) {  //vertical
                endX = startX;
                endY = y;
            } else {
                float slope = Math.abs(((float) (y - startY)) / (x - startX));
                if (slope < 0.577) { //horizontal
                    endX = x;
                    endY = startY;
                } else if (slope < 1.155) { //deg45
                    regulateShape(x, y);
                } else { //vertical
                    endX = startX;
                    endY = y;
                }
            }
        } else {
            endX = x;
            endY = y;
        }
    }
    
     /**
      * 画一条直线
      *作者:王珍
      * 初始时间:2007 5-17
      * 最后一次修改时间:2007 6-17
      */
    public void draw(Graphics2D g) {
        g.setColor(color);
        g.setStroke(stroke);
        g.drawLine(startX, startY, endX, endY);
    }

	public Rectangle getBounds() {
		// TODO Auto-generated method stub
		return null;
	}

	public boolean isImage() {
		// TODO Auto-generated method stub
		return false;
	}
    
}

⌨️ 快捷键说明

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