java - IDE启动画面大小

标签 java size splash-screen

对于我的论文工作,我需要创建一个 IDE,并且我想为 IDE 创建启动屏幕。 所以我的第一个问题是我不知道必须为启动屏幕创建的图像尺寸。 我的第二个问题是,市场上可能有很多不同的屏幕分辨率,并且对于某些计算机来说,屏幕飞溅可能会更大或更小......我们可以做些什么来解决这个问题吗?

P.S.:我真的很喜欢 IntelliJ IDE (15) 的启动屏幕,我想创建类似的东西作为启动屏幕。

//-------------------------------------------------------- -------------------//

问题 2 的解决方案:

    //Get the resolution of the screen PC
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    int X = (toolkit.getScreenSize().width);
    int Y = (toolkit.getScreenSize().height);

    //Get the  pixels of the screen middle resolution
    int cX = (toolkit.getScreenSize().width / 2) - ((int)((ImageView) s.lookup("#splash_logo")).getFitWidth())/2;
    int cY = (toolkit.getScreenSize().height / 2) - ((int)((ImageView) s.lookup("#splash_logo")).getFitHeight()/2);

    //Set the position of Stage to middle
    primaryStage.setX(cX);
    primaryStage.setY(cY);

最佳答案

如果您想根据显示器的分辨率缩放它,我首先使用 java.awt.Toolkit 获取高度和宽度。 :

Toolkit toolkit = Toolkit.getDefaultToolkit();
int X = (toolkit.getScreenSize().width)
int Y = (toolkit.getScreenSize().height)

然后,您可以使用以下方法缩放用于启动屏幕的图像:

public BufferedImage scaleImage(int multiplier, BufferedImage img) {

    BufferedImage bi = new BufferedImage(multiplier * img.getWidth(null), multiplier * img.getHeight(null), BufferedImage.TYPE_INT_RGB);

    Graphics2D grph = (Graphics2D) bi.getGraphics();
    grph.scale(multiplier, multiplier);

    // everything drawn with grph from now on will get scaled.
    grph.drawImage(img, 0, 0, null);
    grph.dispose();

    return bi;
}

然后通过计算中间位置并将组件设置在那里,将其置于屏幕中心:

    int cX = (toolkit.getScreenSize().width / 2) - (getWidth() / 2);
    int cY = (toolkit.getScreenSize().height / 2) - (getHeight() / 2);
    component.setLocation(cX, cY);

实际实现取决于您,但这些是我使用的工具,并且对我来说效果很好。希望这有帮助!

关于java - IDE启动画面大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34755500/

相关文章:

java - 在 Spring mvc 中定期发送自动电子邮件的最佳方法

java - 安卓 : application crashes with BadTokenException Error (trying to show AlertDialog)

java - 给定大小为 n 的数组中 r 个元素在条件下的所有可能组合

android - Flutter android版本卡在启动画面上

java - 拆分字符串,如果它有数字

c - 代码中的这一行是什么意思? (指向字符的指针数组)?

Javascript window.open 大小无法正常工作。高度还可以,宽度有点乱

java - sleep 时启动画面为空白

android - MainActivity 在 SplashScreen 结束之前开始

java - SimpleDateFormat 在字符串中也存在时忽略时区