Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/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
Eclipse正在运行错误的java文件_Java_Actionlistener_Mouselistener - Fatal编程技术网

Eclipse正在运行错误的java文件

Eclipse正在运行错误的java文件,java,actionlistener,mouselistener,Java,Actionlistener,Mouselistener,我正在尝试运行此代码 import java.awt.Color; import java.awt.Graphics; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.JFrame; import javax.swing.JPanel; public class DrawingHoles extends JFrame{

我正在尝试运行此代码

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JPanel;

public class DrawingHoles extends JFrame{

    private class MyPanel extends JPanel{
        private Point[] points;
        private int count = 0;
        
        public MyPanel() {
            points = new Point[100];
            
            this.addMouseListener(new MouseAdapter() {
                public void mousePressed(MouseEvent e) {
                    points[count] = (new Point(e.getX(),e.getY()));
                    repaint();
                }
            });
            
        }
        protected void paintComponent(Graphics g) {
            int a = 0;
            while(a != -1) {
                if(a%3 == 0)
                    g.setColor(Color.RED);
                else if(a%3 == 1)
                    g.setColor(Color.GREEN);
                else if (a%3 == 2)
                    g.setColor(Color.BLUE);
            }
            for(int i = 0; i < count - 1;i++) {
                g.drawOval(points[i].x, points[i].y, 50, 50);
                g.fillOval(points[i].x, points[i].y, 50, 50);
            }
        }
    }
        
    public DrawingHoles() {
        setSize(400,300);
        setTitle("drawing circles with your mouse");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        add(new MyPanel());
    }
    
    public void main(String[] args) {
        (new DrawingHoles()).setVisible(true);

    }

}

导入java.awt.Color;
导入java.awt.Graphics;
导入java.awt.Point;
导入java.awt.event.MouseAdapter;
导入java.awt.event.MouseEvent;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
公共类DrawingHoles扩展JFrame{
私有类MyPanel扩展了JPanel{
私人点[]点;
私有整数计数=0;
公共事务委员会(){
点数=新点数[100];
this.addMouseListener(新的MouseAdapter(){
公共无效鼠标按下(MouseEvent e){
点[计数]=(新点(e.getX(),e.getY());
重新油漆();
}
});
}
受保护组件(图形g){
int a=0;
而(a!=-1){
如果(a%3==0)
g、 setColor(Color.RED);
否则如果(a%3==1)
g、 setColor(Color.GREEN);
否则如果(a%3==2)
g、 setColor(Color.BLUE);
}
对于(int i=0;i
所以我可以按顺序画红、绿、蓝的圆圈,点击面板,如图所示。

但是它一直在运行另一个代码,我在写上面的代码之前就写了这个代码


我认为文件名和内容是正确的,但我不知道为什么它不会运行

尝试在这个类中单击鼠标右键,然后选择“作为java程序运行”。如果您正在单击顶部菜单上的run按钮,该按钮可能会选择一个默认类作为入口点。

您可以发送一个eclipse配置的映像吗?这段代码将如何运行<代码>整数a=0;而(a!=-1){…}
不将
a
赋值给-1是一个无限循环。您的代码在期间被困在该
中,并且永远不会离开。所以,如果你没有看到它像你预期的那样画出那么多的东西:这并不奇怪。首先删除
while(a!=0){
行及其关联的右括号:while不应该在那里(而且也不应该是
inta=0
,但这是一个您可能自己可以解决的不同问题)