gpt4 book ai didi

java - 根据窗口的屏幕分辨率调整图像

转载 作者:行者123 更新时间:2023-11-29 03:52:40 24 4
gpt4 key购买 nike

我在 JFrame 中添加了一个 JLabel并在 JLabel 中添加一张尺寸为 1024x768 的图像。

当我将窗口屏幕的分辨率设置为 1024x768 并运行应用程序时,图像以全窗口显示。但是当我将窗口屏幕的分辨率设置为 1280x768 时 - 图像仅显示在窗口的三分之一部分。

如何调整或添加尺寸为 1024x768 的图像,以便在任何屏幕分辨率下图像都能覆盖整个窗口?换句话说,图像根据窗口的屏幕分辨率进行调整。

最佳答案

enter image description here

import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import java.net.URL;
import javax.imageio.ImageIO;

class ImagePanel extends JPanel {

Image image;

ImagePanel(Image image) {
this.image = image;
}

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image,0,0,getWidth(),getHeight(),this);
}

public static void main(String[] args) throws Exception {
URL url = new URL("http://pscode.org/media/stromlo2.jpg");
final Image image = ImageIO.read(url);
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame("Image");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLocationByPlatform(true);

ImagePanel imagePanel = new ImagePanel(image);
imagePanel.setLayout(new GridLayout(5,10,10,10));
imagePanel.setBorder(new EmptyBorder(20,20,20,20));
for (int ii=1; ii<51; ii++) {
imagePanel.add(new JButton("" + ii));
}

f.setContentPane(imagePanel);
f.pack();
f.setVisible(true);
}
});
}
}

使用原始图像

Raw image

关于java - 根据窗口的屏幕分辨率调整图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7980272/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com