因此,如果我使用此代码,我会得到一个没有任何内容的屏幕。我应该显示一个绿色矩形。以前遇到过这个问题但无法解决。
package _47b3n.squaregen;
import java.awt.Color;
import java.awt.Component;
import java.awt.Graphics;
import javax.swing.JFrame;
public class Main extends Component {
private static final long serialVersionUID = 5547487570978675247L;
public static void main(String [] args) {
new Main();
}
public Main() {
JFrame frame = new JFrame();
frame.setSize(200, 200);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setVisible(true);
repaint();
}
public void render(Graphics g) {
g.setColor(Color.GREEN);
g.drawRect(10,10,10,10);
}
}
答案 0 :(得分:5)
自定义绘画是通过覆盖JPanel
的{{1}}方法完成的,然后将面板添加到框架中。
阅读Custom Painting上Swing教程中的部分,了解更多信息和工作示例。