Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/377.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 错误:类、接口或枚举错误代码_Java - Fatal编程技术网

Java 错误:类、接口或枚举错误代码

Java 错误:类、接口或枚举错误代码,java,Java,我想要一个GUI,将随机生成不同颜色的星星。这是密码。这可能很简单,但我找不到问题所在lol。我将类命名为Shapes2JPanel.java import java.awt.Color; import java.awt.Graphics; import java.awt.geom.GeneralPath; import java.util.Random; import javax.swing.JPanel; public class Shapes2JPanel extends JPanel

我想要一个GUI,将随机生成不同颜色的星星。这是密码。这可能很简单,但我找不到问题所在lol。我将类命名为Shapes2JPanel.java

import java.awt.Color;
import java.awt.Graphics;
import java.awt.geom.GeneralPath;
import java.util.Random;
import javax.swing.JPanel;

public class Shapes2JPanel extends JPanel {
    // draw general paths
    public void paintComponent(Graphics g) {
        super.paintComponent(g); // call superclass's paintComponent
        Random random = new Random(); // get random number generator

        int[] xPoints = {55, 67, 109, 73, 83, 55, 27, 37, 1, 43};
        int[] yPoints = {0, 36, 36, 54, 96, 72, 96, 54, 36, 36};
        GeneralPath star = new GeneralPath();

        for (int count = 1; count < xPoints.length; count++)
            star.lineTo(xPoints[count], yPoints[count]);
        star.closePath();
        g2d.translate(150, 150);
        for (int count = 1; count <= 20; count++)
            g2d.rotate(math.PI / 10.0);
        g2d.setColor(new Color(random.nextInt(256), random.nextInt(256), random.nextInt(256)));
        g2d.fill(star);
    }
}
}

    public static void main(String[] args) {
        JFrame frame = new JFrame("Drawing 2D Shapes");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        1Shapes2JPanel shapes2JPanel = new Shapes2JPanel();
        frame.add(shapes2JPanel); // add shapes2JPanel to frame
        frame.setBackground(Color.WHITE); // set frame background color
        frame.setSize(315, 330); // set frame size
        frame.setVisible(true); // display frame
    } // end main
} // end class Shapes2
导入java.awt.Color;
导入java.awt.Graphics;
导入java.awt.geom.GeneralPath;
导入java.util.Random;
导入javax.swing.JPanel;
公共类Shapes2JPanel扩展了JPanel{
//绘制一般路径
公共组件(图形g){
super.paintComponent(g);//调用超类的paintComponent
Random Random=new Random();//获取随机数生成器
int[]xPoints={55,67,109,73,83,55,27,37,1,43};
int[]yPoints={0,36,36,54,96,72,96,54,36,36};
GeneralPath星形=新的GeneralPath();
对于(int count=1;count对于(int count=1;count有一次我修复了很多编译问题,其中可能是复制和粘贴出现了真正的错误,唯一的问题是星形上的第一个点缺少moveTo()

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.geom.GeneralPath;
import java.util.Random;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Shapes2JPanel extends JPanel {

    // draw general paths
    public void paintComponent(Graphics g) {
        super.paintComponent(g); // call superclass's paintComponent
        Random random = new Random(); // get random number generator
        Graphics2D g2d = (Graphics2D) g;
        int[] xPoints = {55, 67, 109, 73, 83, 55, 27, 37, 1, 43};
        int[] yPoints = {0, 36, 36, 54, 96, 72, 96, 54, 36, 36};
        GeneralPath star = new GeneralPath();
        star.moveTo(xPoints[0], yPoints[0]);
        for (int count = 1; count < xPoints.length; count++) {
            star.lineTo(xPoints[count], yPoints[count]);
        }
        star.closePath();
        g2d.translate(150, 150);
        for (int count = 1; count <= 20; count++) {
            g2d.rotate(Math.PI / 10.0);
        }
        g2d.setColor(new Color(random.nextInt(256),
                random.nextInt(256), random.nextInt(256)));
        g2d.fill(star);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame("Drawing 2D Shapes");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        Shapes2JPanel shapes2JPanel = new Shapes2JPanel();
        frame.add(shapes2JPanel); // add shapes2JPanel to frame
        frame.setBackground(Color.WHITE); // set frame background color
        frame.setSize(315, 330); // set frame size
        frame.setVisible(true); // display frame
    } // end main
} // end class Shapes2
导入java.awt.Color;
导入java.awt.Graphics;
导入java.awt.Graphics2D;
导入java.awt.geom.GeneralPath;
导入java.util.Random;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
公共类Shapes2JPanel扩展了JPanel{
//绘制一般路径
公共组件(图形g){
super.paintComponent(g);//调用超类的paintComponent
Random Random=new Random();//获取随机数生成器
Graphics2D g2d=(Graphics2D)g;
int[]xPoints={55,67,109,73,83,55,27,37,1,43};
int[]yPoints={0,36,36,54,96,72,96,54,36,36};
GeneralPath星形=新的GeneralPath();
star.moveTo(xPoints[0],yPoints[0]);
对于(int count=1;countpublic static void main(String[]args)
是一个方法,方法必须放在类中(至少根据缩进情况这似乎是个问题)。您还应该注意
{
}
的数量。