Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 10.12.2017, 14:54   #1
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 42
Репутация: 10
По умолчанию Изменение размера фрейма

Доброго времени суток форумчане, как установить размеры фрейма(окна) равным размерам "изображённой картинки" на ней?
т.е. что бы окно приобретало размер картинки? У меня получилось несколько иначе а именно картинку Растянуть под размер окна.
Вот код программы:
Код:

public class MyJPanel extends JPanel implements ActionListener {
 
    JButton button = new JButton("Next image"),
            button2 = new JButton("previous image" + i);
    JFrame frame = new JFrame();
    JPanel panel = new JPanel(),
            panel2 = new JPanel();
 
    public static int i = 0;
 
    public static void main(String[] args) {
        MyJPanel gui = new MyJPanel();
        gui.go();
    }
 
    class Inner implements ActionListener {
 
        @Override
        public void actionPerformed(ActionEvent e) {
            if (i > 0) {
                --i;
            }
            frame.repaint();
            button2.setText("previous image" + i);
        }
 
    }
 
    public void go() {
        panel.setBackground(Color.darkGray);
        panel2.setBackground(Color.darkGray);
        panel.add(button);
        panel2.add(button2);
 
        button.addActionListener(this);
        button2.addActionListener(new Inner());
        frame.getContentPane().add(panel, BorderLayout.PAGE_END);
        frame.getContentPane().add(panel2, BorderLayout.NORTH);
        frame.getContentPane().add(this);
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setSize(800, 600);//вот тут как можно написать чтобы окно приобретало размер картинки? Или чтобы картина приобретала размер окна(сжималась) не растягивалась по всему окну?
        frame.setVisible(true);
    }
 
    @Override
    public void paintComponent(Graphics g) {
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, this.getWidth(), this.getHeight());
        ArrayList<Image> images = new ArrayList<>();
        File[] files = new File("d:\\Оформление рабочего стола").listFiles();
        for (File f : files) {
            System.out.println(f.canRead() + " " + f.renameTo(f));
            images.add(new ImageIcon(f.getAbsolutePath()).getImage());
        }
        if (i < images.size()) {
            g.drawImage(images.get(i), 0, 0, getWidth(), getHeight(), this);//вот тут и подгоняется картинка под размер окна.
        }
 
        System.out.print("hello world");
 
    }
 
    @Override
    public void actionPerformed(ActionEvent e) {
        i++;
        this.repaint();
        button.setText("Next image" + i);
    }
}

max29 вне форума   Ответить с цитированием
Старый 10.12.2017, 15:01   #2
max29
Пользователь
 
Аватар для max29
 
Регистрация: 16.04.2016
Сообщений: 42
Репутация: 10
По умолчанию

Как в средстве просмотра фотографий Windows.
max29 вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение размера изображения ramsesjol БД в Delphi 3 12.06.2013 14:36
изменение высоты фрейма MiK_on JavaScript, Ajax 2 11.09.2010 21:58
изменение размера изображения voron.kz Общие вопросы Delphi 2 06.09.2010 08:15
Изменение размера TImage alexprey Общие вопросы Delphi 4 23.06.2010 21:17
Изменение размера картинки Борис Низов PHP 6 09.12.2007 17:26




13:58.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru