所以我想在Eclipse中做一个项目,我的Eclipse没有显示任何东西。 我的意思是,代码很好,但它只是打开一个窗口,它不显示任何内容,当它应该显示一行。Java图形不显示任何东西
FirstGraph.java
import java.awt.Graphics;
import javax.swing.JFrame;
public class FirstGraph extends JFrame {
private static final long serialVersionUID = 1L;
public static void main(String[] args) {
JFrame f = new JFrame();
f.setName("First Graph");
f.setSize(300, 300);
f.setVisible(true);
f.setBounds(30, 30, 300, 300);
f.getContentPane().add(new MyCanvas());
f.setVisible(true);
}
public void Paint(Graphics g) {
g.drawLine(50, 50, 250, 280);
}
}
MyCanvas.java
import java.awt.Graphics;
import javax.swing.JComponent;
public class MyCanvas extends JComponent{
private static final long serialVersionUID = -2508263540396372610L;
public void Paint(Graphics g){
int[] x;
x = new int[]{40, 125, 256, 290};
int[] y;
y = new int[]{50, 115, 279, 295};
g.drawPolygon(x, y, x.length);
}
}
问题是什么?
更改'public void Paint(Graphics g){'to'@Override public void Paint(Graphics g){'.. – 2014-10-09 12:29:29
“而不是'paint'使用'paintComponent'方法,使用'@ Override'注解。 – alex2410 2014-10-09 12:30:18
'f.setBounds(30,30,300,300);'最好让'MyCanvas'返回一个合理的首选大小和'pack()'框架。此外,不要尝试覆盖框架中的任何绘画.. – 2014-10-09 12:30:39