Java 错误:类、接口或枚举错误代码
我想要一个GUI,将随机生成不同颜色的星星。这是密码。这可能很简单,但我找不到问题所在lol。我将类命名为Shapes2JPanel.javaJava 错误:类、接口或枚举错误代码,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
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)
是一个方法,方法必须放在类中(至少根据缩进情况这似乎是个问题)。您还应该注意{
和}
的数量。