我在这里做错了什么。。我应该在我的JFrame中看到两个矩形,但我得到的只是一个灰色的盒子。所以没有矩形、颜色或任何东西响应我的代码。
这是带有主要方法的类:
import javax.swing.JFrame;
public class Paron {
public static void main(String[] args) {
JFrame f = new JFrame("Rektanglar");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Rektanglar r = new Rektanglar ();
f.add(r);
f.setSize(400, 250);
f.setVisible(true);
}
}
这是我的JPanel代码:
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
public class Rektanglar extends JPanel {
public void PaintComponent (Graphics g) {
super.paintComponent (g);
this.setBackground(Color.WHITE);
g.setColor(Color.BLUE);
g.fillRect(25,25, 100, 100);
g.setColor(Color.RED);
g.fillRect(40,40,100,100);
}
}
我错过了什么?感谢您的帮助
是paintComponent
而不是PaintComponent
。Java区分大小写。
@Override
public void paintComponent(Graphics g) {
添加@Override
注释以允许编译器检查该方法的存在。
public void PaintComponent (Graphics g) {
PaintComponent
的p
必须是小写字母:
public void paintComponent (Graphics g) {