在我的程序中,我使用 cardLayout 在面板之间切换(每个面板都用作一个单独的类)。其中一个面板,我们称之为板,包含图形。
据我了解,面板的大小适合窗口大小或 jframe,所以当我调整窗口大小时,jpanel 大小和其中的图形也会改变大小。
调整大小时如何将图形放置在窗口的中心?或者据我所知,如何将 jpanel 定位在中心,以便它包含的图形也将位于窗口的中心?
我在程序中使用的图形可能是简单的方形网格(单元格数量是固定的),这是代码,COLS 和 ROWS 是常量,而 SIZE(单元格大小)调整为窗口大小,可以改变:
g.setColor(Color.LIGHT_GRAY);
for( int i = 1; i < COLS; i ++ ){
for( int j = 1; j < ROWS; j ++ ){
g.drawLine(0, j*SIZE, COLS*SIZE, j*SIZE);
g.drawLine(i*SIZE, 0, i*SIZE, ROWS*SIZE);
}
}