有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (2) 个答案

  1. # 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. # 2 楼答案

    <>你可以把你的外框看作是“相机”框架,你可以在里面创建一个“世界”框架。 然后可以使用相反的坐标移动世界窗口,以模拟摄影机的移动

    要实现此功能,请对内部框架使用绝对定位(即无布局)。 有关绝对定位的更多详细信息,请参见http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html