我是向 JFrame 添加 JPanel 的新手,我需要一点帮助。在我做的一堂课中,我画了一个大矩形。此类是 JPanel 的子类。另一个类是 JFrame 的子类。当我创建该类的新 JPanel 对象时,矩形显示在框架上,但它比平时小得多,而且位置也不正确。这是代码,有什么问题?
public void gameRender() {
if( dbImage == null ) {
dbImage = createImage( dbWIDTH, dbHEIGHT );
if( dbImage == null )
return;
}
//else
dbg = dbImage.getGraphics();
dbg.setColor( Color.white );
dbg.fillRect( 0, 0, dbWIDTH, dbHEIGHT );
dbg.setColor( Color.black );
这是程序早期的 while 循环(如动画循环)不断调用的方法的一部分。这是 JPanel 子类的一部分,这段代码用于双缓冲。dbWIDTH 为 500,dbHEIGHT 为 400。
此代码来自试图创建 JPanel 子类的对象的 JFrame 子类(JPanel 子类称为 WalkAndJump3)。
wj = new WalkAndJump3();
Container c = getContentPane();
c.setLayout( new FlowLayout() );
c.add( wj );
我尝试通过覆盖paintComponent 来做我在JPanel 子类中所做的事情,但它不起作用,我确实将WalkAndJump3 wj 声明为实例变量,因此第一行不应该是问题。怎么了?同样,问题是绘制的矩形太小而且不合适。