在java中在帧内移动摄影机 3 月 Questions & Answers 838 我想知道如何在java框架内移动相机。例: frame.moveInsideFrame(pointX,pointY).
# 1 楼答案 您必须移动帧中的所有内容。例如: private void moveInsideFrame(int moveX, int moveY) { for (int i = 0; i < listOfObjects.size(); i ++) { JComponent current = listOfObjects.get(i); current.x -= moveX; current.y -= moveY; } } (这只是示例代码,它不会真正起作用。在屏幕上显示所有组件的ArrayList,然后分别移动每个组件。) 或者,如果您只是将它们全部放在框架中(而不是在自定义JPanel中重写paintComponent),则使用frame.getComponents()
# 2 楼答案 <>你可以把你的外框看作是“相机”框架,你可以在里面创建一个“世界”框架。 然后可以使用相反的坐标移动世界窗口,以模拟摄影机的移动 要实现此功能,请对内部框架使用绝对定位(即无布局)。 有关绝对定位的更多详细信息,请参见http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html
# 1 楼答案
您必须移动帧中的所有内容。例如:
(这只是示例代码,它不会真正起作用。在屏幕上显示所有组件的
ArrayList
,然后分别移动每个组件。)或者,如果您只是将它们全部放在框架中(而不是在自定义JPanel中重写
paintComponent
),则使用frame.getComponents()
# 2 楼答案
要实现此功能,请对内部框架使用绝对定位(即无布局)。 有关绝对定位的更多详细信息,请参见http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html