我正准备将这个应用程序准备好分发。但是我仍然没有找到一种方法来使应用程序适合任何屏幕。事实上我正在使用pngs文件作为背景和按钮(主要是)进入JLabel,这是一个很大的问题我认为。我想要实现的是让JFrame及其组件可调整大小但保持比例,就像响应式网站一样! 其他方式我计划创建原始的png但更小,然后创建新的框架,同时启动应用程序询问系统哪个框架应该最好地适应屏幕并使用它(但我知道我不会很好,然后当然os如果你知道我的意思,有时会以不同的方式使用屏幕分辨率使得显得更小或更大。 (我正在使用Netbeans)。
非常感谢,我正在寻找与您讨论此问题的前言,我肯定会关注其他许多人。
答案 0 :(得分:1)
#include <stdbool.h>
有一些方法可以满足您的需求,包括获取当前的屏幕尺寸:
Toolkit.getDefaultToolkit()
这篇文章讨论Resize image while keeping aspect ratio in Java。
现在您已拥有屏幕尺寸,您可以计算图像高度/宽度与当前帧尺寸的比率,并根据当前帧尺寸与全屏尺寸的%差异进行缩放。
private void makeFrameFullSize(JFrame aFrame)
{
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
aFrame.setSize(screenSize.width, screenSize.height);
}
这是一个示例实用程序类,可以缩放图像以适合画布(如背景图像)并将其缩放以适合:
package net.codejava.graphics;
import java.awt.Component; import java.awt.Graphics; import java.awt.Image;
private Dimension get getFrameToScreenRatio(Frame aFrame){
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
return dimension.setSize(aFrame.getWidth()/dimension.getWidth(), aFrame.getHeight()/dimension.getHeight());
}