Java Eclipse:插入“}”以完成块
我有以下代码来绘制一个矩形,效果很好:Java Eclipse:插入“}”以完成块,java,eclipse,Java,Eclipse,我有以下代码来绘制一个矩形,效果很好: public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.setStroke(new BasicStroke(10)); g2.setPaint(new Color(128, 0, 0)); Rectangle2D.Double s =
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));
g2.setPaint(new Color(128, 0, 0));
Rectangle2D.Double s = new Rectangle2D.Double(20.0, 20.0, 100.0, 50.0);
g2.draw(s);
}
在我用这个代码替换它之后
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));
g2.setPaint(new Color(128, 0, 0));
Shape[] shapeList = new Shape[3];
shapeList[0] = new Rectangle2D.Double(20.0,20.0,40.0,70.0);
shapeList[1] = new Ellipse2D.Double(20.0,20.0,40.0,70.0);
int[] x = { 10, 50, 70 };
int[] y = { 20, 70, 20 };
shapeList[2] = new Polygon(x,y,3);
// now update the display
for (int i=0; i<4; i++){
g2.draw(shapeList[i]);
}
}
我还不知道为什么,但我想我在什么地方遗漏了什么
这是我的全部代码:
import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;
public class FrameDrawings extends JPanel {
public FrameDrawings() {
setBackground(Color.white);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));
g2.setPaint(new Color(128, 0, 0));
Rectangle2D.Double s = new Rectangle2D.Double(20.0, 20.0, 100.0, 50.0);
Shape[] shapeList = new Shape[3];
shapeList[0] = new Rectangle2D.Double(20.0,20.0,40.0,70.0);
shapeList[1] = new Ellipse2D.Double(20.0,20.0,40.0,70.0);
int[] x = { 10, 50, 70 };
int[] y = { 20, 70, 20 };
shapeList[2] = new Polygon(x,y,3);
// now update the display
for (int i=0; i<4; i++){
g2.draw(shapeList[i]);
}
}
}
代码是正确的,您确定已正确保存/重建吗?代码没有问题。我只是把它放在eclipse中,它只返回警告。没有错误。我知道,我逐行验证了5分钟。我不知道为什么它会抱怨这可能是一个与Eclipse相关的bug。不要使用Eclipse。这可能是因为您有一个不可靠的JDK或其他东西。你能创建一个新项目并打印hello world吗?如果有效,那么慢慢地从这个应用程序中添加代码,看看它是否/何时中断。
import java.awt.*;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Rectangle2D;
import javax.swing.*;
public class FrameDrawings extends JPanel {
public FrameDrawings() {
setBackground(Color.white);
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setStroke(new BasicStroke(10));
g2.setPaint(new Color(128, 0, 0));
Rectangle2D.Double s = new Rectangle2D.Double(20.0, 20.0, 100.0, 50.0);
Shape[] shapeList = new Shape[3];
shapeList[0] = new Rectangle2D.Double(20.0,20.0,40.0,70.0);
shapeList[1] = new Ellipse2D.Double(20.0,20.0,40.0,70.0);
int[] x = { 10, 50, 70 };
int[] y = { 20, 70, 20 };
shapeList[2] = new Polygon(x,y,3);
// now update the display
for (int i=0; i<4; i++){
g2.draw(shapeList[i]);
}
}
}