Java 我需要在Y轴上移动两个形状,怎么做?
我作业中的问题需要一个箭头,该箭头从原始状态向上移动50像素。它需要一个“moveUp”方法,我需要使用Java 我需要在Y轴上移动两个形状,怎么做?,java,awt,Java,Awt,我作业中的问题需要一个箭头,该箭头从原始状态向上移动50像素。它需要一个“moveUp”方法,我需要使用setYInt()和getYInt()方法来实现这一点 这是我当前的代码: import java.awt.*; public class Arrow { private Canvas canvas; private Triangle head = new Triangle(120, 500, 50, 50, true); private Rectangle shaft =
setYInt()
和getYInt()
方法来实现这一点
这是我当前的代码:
import java.awt.*;
public class Arrow {
private Canvas canvas;
private Triangle head = new Triangle(120, 500, 50, 50, true);
private Rectangle shaft = new Rectangle(140, 550, 10, 100);
public Arrow(Canvas _canvas) {
canvas = _canvas;
Triangle head = new Triangle(120, 500, 50, 50, true);
Rectangle shaft = new Rectangle(140, 550, 10, 100);
}
public void draw() {
canvas.draw(head);
canvas.draw(shaft);
}
public void erase() {
canvas.erase(head);
canvas.erase(shaft);
}
public void moveUp() {
head.getYInt();
shaft.getYInt();
head.setYInt(head.getYInt - 50);
}
}
我在使用此代码时遇到的错误:
Arrow.java:32: error: cannot find symbol
head.setYInt(head.getYInt - 50);
^
symbol: variable getYInt
location: variable head of type Triangle
1 error
我不明白我应该如何得到Y整数并将其设置为另一个。感谢您的帮助
head.setYInt(head.getYInt - 50);
您正在使用的head.getYInt
不是函数。请尝试.getYInt()
。此处:
head.setYInt(head.getYInt - 50);
似乎您打算在head对象上调用方法setYInt()
。最有可能的是,您打算使用head.getYInt()
首先检索当前的Y值
所以:要么到处使用getter/setter方法,要么(不推荐)只访问相应的字段
除此之外:
private Triangle head = new Triangle(120, 500, 50, 50, true);
没有多大意义:您已经初始化了head
,所以再次初始化没有意义。更糟糕的是:您实际上是而不是在构造函数中初始化字段头,您创建一个局部变量,初始化它,然后忘记它 head.getYInt()
?
public Arrow(Canvas _canvas) {
Triangle head = new Triangle(120, 500, 50, 50, true);