Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 1
Регистрация: 17.12.2013
Сообщений: 6
1

Изображение появляется только после растягивания фрейма

30.12.2014, 19:52. Показов 799. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Такой код:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
public class SafeCracker extends JFrame{
    //объявляем и инициализируем safePanel
    URL url = getClass().getResource("img/safe.jpg");       
    Image safe = Toolkit.getDefaultToolkit().getImage(url);
    ImagePanel safePanel = new ImagePanel(safe);
    
    public SafeCracker(){
        setTitle("Взломщик");
        //запрещаем изменять размер окна
        //setResizable(false);
        
        //задаем менеджер размещения
        setLayout(new GridBagLayout());
        GridBagConstraints gridConstraints;
        
        ////размещаем safePanel при помощи менеджера
        safePanel.setPreferredSize(new Dimension(330, 420));
        safePanel.setLayout(new GridBagLayout());
        gridConstraints = new GridBagConstraints();
        gridConstraints.gridx = 0;
        gridConstraints.gridy = 0;
        gridConstraints.gridheight = 3;
        add(safePanel, gridConstraints);
                
        //подбираем оптимальные размеры окна
        pack();
        
        //узнаем размеры экрана и задаем параметры окна
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((int) (0.5 * (screenSize.width - getWidth())), (int) (0.5 * (screenSize.height - getHeight())), getWidth(), getHeight());
 
        setVisible(true);
    }
 
    public static void main(String[] args) {
        //new SafeCracker().setVisible(true);
        SafeCracker sc=new SafeCracker();
    }
 
}
 
//класс для создания safePanel
class ImagePanel extends JPanel 
{
  private Image img;
  public ImagePanel(Image img) 
  {
   this.img = img;
  }
  public void paintComponent(Graphics g) 
  {
    g.drawImage(img, 0, 0,null);
    }
}
Почему изображение появляется только после растягивания фрейма?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2014, 19:52
Ответы с готовыми решениями:

После включения компьютера на мониторе не появляется изображение
Здравствуйте. Возникла следующая проблема, которая упорно не хочет уходить. Имелся старенький...

После отключение карты Realtek не появляется изображение
Привет.После того как в bios отключаю звук.карту realtek мне пишет проверьте сигнал кабеля,помогает...

Не появляется изображение после смены графического процессора
Процессор i7-6700k. Решил попробовать поиграть на встроенной графике. Полез в БИОС, включил...

Изображение появляется через 10-15 секунд после включения компьютера
дело вот в чем...вкл комп, все вентиляторы работают, все лампочки горят, а изображения...

2
636 / 528 / 165
Регистрация: 01.04.2010
Сообщений: 1,843
30.12.2014, 21:30 2
После обновления рисунка нужно принудительно перерисовывать компоненту.
0
0 / 0 / 1
Регистрация: 17.12.2013
Сообщений: 6
30.12.2014, 22:38  [ТС] 3
Спасибо за ответ. Почитала, но если честно, так и не поняла how to use them, зато вспомнила про updateUI(). Добавила
Java
1
2
g.drawImage(img, 0, 0,null);
    this.updateUI();
теперь изображение сразу появляется. Почему? В учебниках в примерах этого нет..
Хотелось бы где-то почитать, как это все работает.
0
30.12.2014, 22:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2014, 22:38
Помогаю со студенческими работами здесь

Звук в системе появляется только после перезагрузки
Доброе утро. Проблема в следующем: После включения ПК и загрузки ОС никакие звуки не...

Звук в ноутбуке появляется только после перезагрузки
Проблема такая возникла. Если выключить ноутбук Hp655 полностью, а потом снова включить, то...

Появляется звук в картридере только после отключения колонок.
Здравствуйте, такая проблема когда колонки подключены и я пытаюсь подключить наушники к картридеру ...

Текст появляется в textBox только после выполнения программы
Добрый вечер! Собственно, проблема в заголовке. Вот тот самый кусок кода tring tabName = "";...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru