我以为我将参考点设置为null,但似乎没有发生。我为该对象选择了一堆不同的坐标,并且该坐标始终位于左上角。对不起,如果这是新来的愚蠢的。

package com.tutorial.main;

import java.awt.Canvas;
import java.awt.Dimension;

import javax.swing.JFrame;

public class Window extends Canvas{

    private static final long serialVersionUID = -240840600533728354L;

    public Window(int width, int height, String title, Game game) {
        JFrame frame = new JFrame(title);

        frame.setPreferredSize(new Dimension(width, height));
        frame.setMaximumSize(new Dimension(width, height));
        frame.setMinimumSize(new Dimension(width, height));

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setResizable(false);
        frame.setLocationRelativeTo(null);
        frame.add(game);
        frame.setVisible(true);
        game.start();


    }
}

最佳答案

这个:

frame.setLocationRelativeTo(null);


需要在呈现GUI后调用,通常是在调用之后

frame.pack();


例如。,

frame.add(game);
game.start();
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

关于java - 每当我在屏幕角落添加对象时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58478234/

10-15 17:16