Всякий раз, когда я добавляю объект в углу экрана - PullRequest
0 голосов
/ 21 октября 2019

Я думал, что установил контрольную точку на ноль, но, похоже, этого не происходит. Я выбрал несколько разных координат для объекта, и он всегда находится в верхнем левом углу. Извините, если это глупо, я новичок в этом.

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


    }
}

1 Ответ

1 голос
/ 21 октября 2019

Это:

frame.setLocationRelativeTo(null);

необходимо вызывать после визуализации GUI, обычно после вызова

frame.pack();

например,

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