如何使jframe居中?

qyzbxkaa  于 2021-06-29  发布在  Java
关注(0)|答案(1)|浏览(301)

我知道另一个人已经问过这个问题了。答案应该是 frame.setLocationRelativeTo(null); ,但当我尝试使用此方法时 JFrame 最后出现在我屏幕的右下角。为什么会这样,我还应该做些什么来集中精力 JFrame ?
下面的第一件事是我写的代码(顺便说一句,我正在写一个动物翻译),第二件事是一个链接,指向运行代码时发生的事情的图像。

import java.awt.BorderLayout;
import java.awt.GridLayout;

import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class AnimaleseTranslator {
    public static void main(String[] args) {        
        JFrame frame = new JFrame();        
        JPanel panel = new JPanel();
        panel.setBorder(BorderFactory.createEmptyBorder(220, 391, 220, 391));
        panel.setLayout(new GridLayout(0, 1));      
        frame.add(panel, BorderLayout.CENTER);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLocationRelativeTo(null);
        frame.setTitle("Animalese Translator");
        frame.pack();
        frame.setVisible(true);     
    }
}

gg0vcinb

gg0vcinb1#

你应该打电话 pack 之前 setLocationRelativeTo .

frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

相关问题