创建Line2D对象

时间:2016-11-11 12:54:17

标签: java swing

我想使用Line2D类创建Line,但是当我运行我的课程时,我会收到:

  

Linia:java.awt.geom.Line2D$Double@15db9742。

这是我的代码:

class linia {

    public java.awt.geom.Line2D.Double getLine() {
        return line;
    }

    public void setLine(java.awt.geom.Line2D.Double line) {
        this.line = line;
    }
    private java.awt.geom.Line2D.Double line;

}

public class Lines {

    public static java.awt.geom.Line2D.Double create(double x1, double y1, double x2, double y2) {
        java.awt.geom.Line2D.Double tmpL = new java.awt.geom.Line2D.Double();
        tmpL.x1 = x1;
        tmpL.y1 = y1;
        tmpL.x2 = x2;
        tmpL.y2 = y2;
        return tmpL;

    }

    public static void main(String[] args) {
        linia line = new linia();
        line.setLine(create(Double.valueOf(1), Double.valueOf(1), Double.valueOf(2), Double.valueOf(2)));
        System.out.println("Line: " + line.getLine());
    }

}

2 个答案:

答案 0 :(得分:0)

我发现 linia 类中没有默认构造函数。另一个选择是根据参数和所需的任何初始化添加自定义构造函数。

Java需要任何类定义中的构造函数。

class Linia
{
     public Linia() {
        // here you add any default implementation required
     }

    public java.awt.geom.Line2D.Double getLine() {
        return line;
    }
    public void setLine(java.awt.geom.Line2D.Double line)
    {
        this.line = line;
    }
}

注意:Java中的命名约定更喜欢Java类以大写字母开头,因此最好将您称为 Linia 而不是 linia 。< / p>

答案 1 :(得分:0)

您可以使用getBounds()方法

打印线条的坐标
public static void main(String[] args) {
     linia line = new linia();
     line.setLine(create(Double.valueOf(1), Double.valueOf(1), Double.valueOf(2), Double.valueOf(2)));
     System.out.println("Line: " + line.getLine().getBounds());
}

预期产出:

Line: java.awt.Rectangle[x=1,y=1,width=1,height=1]