首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我一直在尝试让它从屏幕的中心开始

我一直在尝试让它从屏幕的中心开始
EN

Stack Overflow用户
提问于 2021-06-26 13:49:29
回答 2查看 31关注 0票数 0

这是JavaSE-11,因为我认为它是使用eclipse IDE的java和im的最新LTS版本。请谁告诉我如何在运行时把这个放在屏幕中央。

代码语言:javascript
复制
package Main;

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.WindowConstants;

public class GUI extends JFrame{
    
    protected static final ImageIcon ICON = new ImageIcon("Image.png");

    public static void main(String[] args){
        new GUI();
    }

    public GUI(){
        Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        setPreferredSize(new Dimension(dim.width/2-this.getSize().width/2, dim.height/2-this.getSize().height/2));
        setTitle("GUI");
        setIconImage(ICON.getImage());
        pack();
        setVisible(true);
    }
}
EN

回答 2

Stack Overflow用户

发布于 2021-06-26 22:52:07

您可以使用:

代码语言:javascript
复制
frame.setLocationRelativeTo( null );

在确定了帧的大小之后。

因此,代码的基本结构应该是:

代码语言:javascript
复制
frame.add(...);
frame.pack();
frame.setLocationRelativeTo( null );
frame.setVisible( true );
票数 0
EN

Stack Overflow用户

发布于 2021-06-26 14:22:07

代码语言:javascript
复制
        int w = this.getPreferredSize().width/2;
        int y = this.getPreferredSize().height/2;
        int dimw = dim.width/2;
        int dimh = dim.height/2;
        setLocation( dimw-w, dimh-y);
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68139627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档