Отрегулируйте изображение в соответствии с разрешением экрана окна - PullRequest
1 голос
/ 02 ноября 2011

Я добавил JLabel в JFrame и одно изображение размером 1024x768 добавлено в JLabel.

Когда я устанавливаю разрешение экрана окна в 1024x768 и запускаю приложение, изображение отображается в полном окне. Но когда я установил разрешение экрана окна в 1280x768 - изображение показывается только в одной трети части окна.

Как настроить или добавить изображение размером 1024x768, чтобы при любом разрешении экрана изображение отображалось в полном окне? Другими словами, изображение настраивается в соответствии с разрешением экрана окна.

Ответы [ 2 ]

3 голосов
/ 02 ноября 2011

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

1 голос
/ 08 августа 2013

Я сталкивался с этой проблемой несколько раз, когда добавлял изображение в JFrame.Либо размер изображения будет небольшим, либо размер JFrame будет небольшим.

Это отличный сайт, на котором вы можете изменить размер изображения в соответствии с JFrame без искажения изображения.

Вы можете посетить этот сайт Перейти на сайт

Я объяснил и показал, как использовать фоторедактор, предоставляемый веб-сайтом для изменения размера изображения.

Перейти кмой видеоурок Перейти к видеосессии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...