我是编程新手。我不确定如何将对象放在框架的中心。这是我有多远:
public class LetSee extends JPanel {
public void paintComponent(Graphics g) {
int row; // Row number, from 0 to 7
int col; // Column number, from 0 to 7
int x,y; // Top-left corner of square
for ( row = 0; row < 5; row++ ) {
for ( col = 0; col < 5; col++) {
x = col * 60;
y = row * 60;
if ( (row % 2) == (col % 2) )
g.drawRect(x, y, 60, 60);
else
g.drawRect(x, y, 60, 60);
}
} // end for row
}
}
public class LetSeeFrame extends JFrame {
public LetSeeFrame(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(1900, 1000);
setVisible(true);
LetSee let = new LetSee();
let.setLayout(new BorderLayout());
add(let,BorderLayout.CENTER);
setLocationRelativeTo(null);
}
public static void main(String[] args) {
LetSeeFrame l = new LetSeeFrame();
}
}
答案 0 :(得分:2)
实际上你的面板在框架中居中,但它绘制的内容不是。
您应该使用width
的{{1}}和height
来使图纸居中。
同时将您的尺寸和数字放入变量中,当您在代码中多次使用它们时,它不易出错。
最后正如@MadProgrammer在评论中所说:
在进行任何自定义之前,不要忘记调用super.paintComponent 绘画,如果你没有,奇怪的事情就会开始出错。也 paintComponent不需要公开,任何人都不应该打电话给它 直接
JPanel