一段键盘控制方块移动的代码

来源:百度知道 编辑:UC知道 时间:2024/04/28 21:52:17
If(e.getKeyCode()==39){
If(jPanel1.getX()<this.getContentPane().getWidth()-jPanel1.getWidth()){
jPanel1.setLocation(jPanel1.getX()+1,jPanel1.getY());
}
}
这是一段方向键控制jpanel方块移动的代码,移动的范围是contentPane内,其中If(jPanel1.getX()<this.getContentPane().getWidth()-jPanel1.getWidth())看得不是很懂,谁能深入浅出得说一下,谢谢咯

你先画一个正方形表示contentPane,然后标识出它的宽为Y cm
在里面画一个小正方形表示jpanel1,然后标识出它的宽为y cm

接下来,你先在大正方形的右侧,从右向左量出y cm,标出一个点,然后用一根竖线穿过该点连接上边和下边.你可以看到,正方形被分割成两部分,左边大的,和右边小的长方形.

右边小的长方形的宽是什么?就是y,而正好是你的jpanel的宽,试想一下,你的jpanel的活动范围难道不就是左边的大长方形中吗?如果你的jpanel的X位置已经大于了刚才那一点,那么你的jpanel的右边位置已经就超过大长方形的宽了,那么图形就会"跑出"contentPane了