【发布时间】:2014-02-03 22:28:04
【问题描述】:
我一次又一次地尝试掌握基本的 Java 编程,但我编写的所有程序中出现的大量错误让我辞职了。这次我尝试通过逐行添加或循环来设置一个像素,然后再设置一个系列。
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Points extends JPanel {
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB);
rgb = 0xFF00FF00; // green
image.setRGB(1, 1, rgb);
public static void main(String[] args) {
Points points = new Points();
JFrame frame = new JFrame("Points");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.add(points);
frame.setSize(250, 200);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}
Points.java:7: error: <identifier> expected
rgb = 0xFF00FF00; // green
^
Points.java:8: error: <identifier> expected
image.setRGB(1, 1, rgb);
^
Points.java:8: error: illegal start of type
image.setRGB(1, 1, rgb);
^
Points.java:8: error: illegal start of type
image.setRGB(1, 1, rgb);
^
Points.java:8: error: <identifier> expected
image.setRGB(1, 1, rgb);
^
5 个错误
在代码部分是我得到的错误。
【问题讨论】:
-
我会推荐一个基本的Java教程,比如docs.oracle.com/javase/tutorial/java/nutsandbolts/…
-
您忘记指定
rgb的数据类型。 -
(很可能数据类型应该是“int”,所以整行应该是
int rbg = 0xFF00FF00; // green) -
他还试图在任何方法之外调用
image.setRGB()。 -
主要问题是您在方法之外声明了方法调用。您放置在类声明下的第三行代码应该放在构造函数 (
public Points() {..}) 或其他地方。除此之外,您必须声明rgb的类型(只需将其更改为int rgb = ..即可修复),正如其他人所提到的。总的来说,我建议在尝试诸如此类的更复杂任务之前先习惯该语言的基本语法。
标签: java pixel bufferedimage