所以我一直在努力让最后两个小时让这个程序在一个框架中绘制一个简单的矩形,但是当我运行程序时,框架中没有任何东西显示出来。我查看了教科书和旧笔记本,我的程序中的所有内容似乎都很好,但没有显示任何内容。救命? 这是创建框架的类,应该绘制矩形。
import javax.swing.JFrame;
public class FrameViewer {
public static void main(String[] args) {
//creates an empty frame.
JFrame frame = new JFrame();
frame.setSize(300,400);
frame.setTitle("Empty Frame");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//draws the rectangle within the frame.
RectangleComponent component = new RectangleComponent();
frame.add(component);
frame.setVisible(true);
}
}
这是RectangleComponent
import javax.swing.JComponent;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Rectangle;
public class RectangleComponent extends JComponent{
public void paintCOmponent(Graphics g){
Graphics2D g2 = (Graphics2D) g;
Rectangle box = new Rectangle(5,10,20,30);
g2.draw(box);
}
}
答案 0 :(得分:4)
Java区分大小写,而不是
paintCOmponent
你想要
paintComponent
您应该使用@Override
注释来标记您认为自己重写的方法,因为它会突出显示这样的问题。
该方法也应保持protected
,因为没有理由任何人应该从课外召唤
您可能还想查看Initial Threads