Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
(JAVA)如何区分2d对象_Java - Fatal编程技术网

(JAVA)如何区分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);

一个简单的问题。我尝试使用图形2d来创建对象。我的问题是如何区分两个对象之间的变量。 例如下面的代码

 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-)交叉张贴:并给出了相同的建议。