Задать вопрос

Как правильно обновлять изображение в JFrame?

Всем привет. Вопрос такой:
Есть некий сервер. На нем генерится картинка, эту картинку надо увеличивать и показывать на мониторе. Картинка переодически обновляется и надо это все перерисовывать. Вот с перерисовкой у меня и проблемы, тупо запихав в цикл проблему не решило просто генерятся новые объекты. Если разово запустить то все работает. Но надо ее переодически обновлять.

public class MyParser {
    public static void main(String[] args) throws IOException, InterruptedException {
                String urlStr = "http://192.168.11.111/images/SGBWebServerImage.bmp";
                JFrame frame = new JFrame();
                URL url = new URL(urlStr);
                BufferedImage image = resize(ImageIO.read(url), 320, 1920);
                ImageIcon icon = new ImageIcon(image);
                frame.add(new JLabel(icon));
                frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.getContentPane().setBackground(Color.BLACK);
                frame.pack();
                frame.setVisible(true);
        }

    private static BufferedImage resize(BufferedImage img, int height, int width) {
        Image tmp = img.getScaledInstance(width, height, Image.SCALE_SMOOTH);
        BufferedImage resized = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY);
        Graphics2D g2d = resized.createGraphics();
        g2d.drawImage(tmp, 0, 0, null);
        g2d.dispose();
        return resized;
    }
  • Вопрос задан
  • 111 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы