我想使用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());
}
}
答案 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]