(JAVA)如何区分2d对象
一个简单的问题。我尝试使用图形2d来创建对象。我的问题是如何区分两个对象之间的变量。 例如下面的代码(JAVA)如何区分2d对象,java,Java,一个简单的问题。我尝试使用图形2d来创建对象。我的问题是如何区分两个对象之间的变量。 例如下面的代码 public void paintComponent(Graphics g) { super.paintComponent(g); r1 = new Rectangle(10, 10, 50, 30); r2 = new Rectangle(450, 10, 50, 30);
public void paintComponent(Graphics g) {
super.paintComponent(g);
r1 = new Rectangle(10, 10, 50, 30);
r2 = new Rectangle(450, 10, 50, 30);
g.setColor(Color.BLUE);
g.fillRect(10, 10, 50, 30);
g.setColor(Color.RED);
g.fillRect(450, 10, 50, 30);
}
public void actionPerformed(ActionEvent e) {
if (r1.intersects(r2)) {..............
}
从上面的代码中,我有两个矩形变量r1和r2,我可以执行“if(r1.intersects(r2))”
在actionPerformed方法中
但是在使用Graphic2d时,下面的代码怎么样?我如何区分这两个三角形,以便它可以放入“if(r1.intersects(r2))”,因为只有一个变量“lukis”只存在,并且它用于生成两个三角形。多谢各位
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D lukis = (Graphics2D) g;
int[] x = {100, 200, 300};
int[] y = {300, 100, 300};
lukis.setColor(Color.RED);
lukis.drawPolygon(x, y, 3);
int[] x1 = {600, 700, 800};
int[] y1 = {300, 100, 300};
lukis.setColor(Color.RED);
lukis.drawPolygon(x1, y1, 3);
}
不要使用drawPolygon()或fileRect(…)方法。相反,您可以使用draw(Shape)
或fill(Shape)
方法。因此,您可以创建两个Shape
变量来绘制三角形。然后可以使用Shape
API的contains(…)
方法。请参见为三角形使用形状对象的示例。(1-)交叉张贴:并给出了相同的建议。