簡體   English   中英

在 java 的框架內移動相機

[英]Moving the camera inside a Frame in java

我想知道如何在 java 的框架內移動相機。 前任:

frame.moveInsideFrame(pointX,pointY).

您必須移動框架中的所有內容。 例如:

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()

您可以將外部框架視為“相機”框架,並在其內部創建“世界”框架。 然后,您可以使用相反的坐標移動您的世界窗口,以模擬相機的移動。

要實現它,請對內部框架使用絕對​​定位(即無布局)。 有關絕對定位的更多詳細信息,請參閱http://docs.oracle.com/javase/tutorial/uiswing/layout/none.html

我認為將所有對象放在具有 null 布局的 JPanel 中並將其作為相機移動是最好的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM