AWT Line2D类
1 什么是Java AWT Line2D
Line2D 类表示 (x,y) 坐标空间中的线段。
2 Java AWT Line2D的语法
public abstract class Line2D
extends Object
implements Shape, Cloneable
3 Java AWT Line2D的构造方法
构造方法 | 描述 |
---|---|
protected Line2D() | 这是一个不能直接实例化的抽象类。 |
4 Java AWT Line2D的方法
方法 | 描述 |
---|---|
Object clone() | 创建与此对象具有相同类的新对象。 |
boolean contains(double x, double y) | 测试指定坐标是否在此 Line2D 的边界内。 |
boolean contains(double x, double y, double w, double h) | 测试此 Line2D 的内部是否完全包含指定的直角坐标集。 |
boolean contains(Point2D p) | 测试给定的 Point2D 是否在此 Line2D 的边界内。 |
boolean contains(Rectangle2D r) | 测试此 Line2D 的内部是否完全包含指定的 Rectangle2D。 |
Rectangle getBounds() | 返回一个完全包围 Shape 的整数 Rectangle。 |
abstract Point2D getP1() | 返回此 Line2D 的起始 Point2D。 |
abstract Point2D getP2() | 返回此 Line2D 的结束 Point2D。 |
PathIterator getPathIterator(AffineTransform at) | 返回定义此 Line2D 边界的迭代对象。 |
PathIterator getPathIterator(AffineTransform at, double flatness) | 返回定义此展平 Line2D 边界的迭代对象。 |
abstract double getX1() | 以双精度返回起点的 X 坐标。 |
abstract double getX2() | 以双精度返回终点的 X 坐标。 |
abstract double getY1() | 以双精度返回起点的 Y 坐标。 |
abstract double getY2() | 以双精度返回终点的 Y 坐标。 |
boolean intersects(double x, double y, double w, double h) | 测试 Shape 的内部是否与指定矩形区域的内部相交。 |
boolean intersects(Rectangle2D r) | 测试 Shape 的内部是否与指定的 Rectangle2D 的内部相交。 |
boolean intersectsLine(double x1, double y1, double x2, double y2) | 测试从 (x1,y1) 到 (x2,y2) 的线段是否与该线段相交。 |
boolean intersectsLine(Line2D l) | 测试指定的线段是否与该线段相交。 |
static boolean linesIntersect(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4) | 测试从 (x1,y1) 到 (x2,y2) 的线段是否与从 (x3,y3) 到 (x4,y4) 的线段相交。 |
double ptLineDist(double px, double py) | 返回点到这条线的距离。 |
static double ptLineDist(double x1, double y1, double x2, double y2, double px, double py) | 返回点到线的距离。 |
double ptLineDist(Point2D pt) | 返回从 Point2D 到这条线的距离。 |
double ptLineDistSq(double px, double py) | 返回点到这条线的距离的平方。 |
static double ptLineDistSq(double x1, double y1, double x2, double y2, double px, double py) | 返回点到线的距离的平方。 |
double ptLineDistSq(Point2D pt) | 返回从指定 Point2D 到这条线的距离的平方。 |
double ptSegDist(double px, double py) | 返回点到该线段的距离。 |
static double ptSegDist(double x1, double y1, double x2, double y2, double px, double py) | 返回点到线段的距离。 |
double ptSegDist(Point2D pt) | 返回从 Point2D 到该线段的距离。 |
double ptSegDistSq(double px, double py) | 返回点到该线段的距离的平方。 |
static double ptSegDistSq(double x1, double y1, double x2, double y2, double px, double py) | 返回点到线段距离的平方。 |
double ptSegDistSq(Point2D pt) | 返回从 Point2D 到该线段的距离的平方。 |
int relativeCCW(double px, double py) | 返回指定点 (px,py) 相对于该线段所在位置的指示符。 |
static int relativeCCW(double x1, double y1, double x2, double y2, double px, double py) | 返回指定点 (px,py) 相对于从 (x1,y1) 到 (x2,y2) 的线段所在位置的指示符。 |
int relativeCCW(Point2D p) | 返回指定 Point2D 相对于该线段所在位置的指示符。 |
abstract void setLine(double x1, double y1, double x2, double y2) | 将此 Line2D 的端点位置设置为指定的双坐标。 |
void setLine(Line2D l) | 将此 Line2D 的端点位置设置为与指定 Line2D 的端点位置相同。 |
void setLine(Point2D p1, Point2D p2) | 将此 Line2D 的端点位置设置为指定的 Point2D 坐标。 |
5 Java AWT Line2D的例子
让我们看一个简单的Java AWT Line2D类示例。
package com.yiidian;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.geom.Line2D;
public class AWTGraphicsDemo extends Frame {
public AWTGraphicsDemo(){
super("一点教程网:Java AWT Examples");
prepareGUI();
}
public static void main(String[] args){
AWTGraphicsDemo awtGraphicsDemo = new AWTGraphicsDemo();
awtGraphicsDemo.setVisible(true);
}
private void prepareGUI(){
setSize(400,400);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent windowEvent){
System.exit(0);
}
});
}
@Override
public void paint(Graphics g) {
Line2D shape = new Line2D.Double();
shape.setLine(250D,250D,150D,150D);
Graphics2D g2 = (Graphics2D) g;
g2.draw (shape);
Font font = new Font("Serif", Font.PLAIN, 24);
g2.setFont(font);
g.drawString("Welcome to yiidian.com", 50, 70);
g2.drawString("Line2D.Line", 100, 120);
}
}
输出结果为:
热门文章
优秀文章