Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
unknown
1

Вопрос по отрисовке фреймов и его содержимого

12.04.2011, 01:07. Просмотров 1294. Ответов 13
Метки нет (Все метки)

Скажите пожалуйста, как то можно сделать чтобы при изменении размера окна, содержимое сразу реагировало на это а не только после того как кнопку у мыши отпустили (это надо сделать в jdk1.1.8), IE - это реализует у себя. Это зависит от JVM? или от средств языка?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 01:07
Ответы с готовыми решениями:

Ошибка в отрисовке объекта
Чтобы было проще понять: это рисование крестов в крестиках-ноликах. Проблема...

Какое событие нужно использовать для изменения цвета и т д строк DataGridView при его отрисовке
Подскажите, какое событие нужно использовать для изменения цвета и т д строк...

Отправка файла либо его содержимого
Привет такой вопрос как отправить файл или его содержимое ко мне файл log.txt...

Поиск каталога и удаление его содержимого
Необходимо найти каталог 'N', если таковой найден - удалить из него все...

ширина блока в зависимости от его содержимого. как?
<div class="head">"Современные технологии"</div> что надо сделать для .head...

13
Coresh DRAW!
2 / 2 / 7
Регистрация: 19.10.2009
Сообщений: 225
12.04.2011, 11:18 2
Наверное и от того и от другого. Если бы ты программировал на более поздней версии, я бы посоветовал тебе AncestorListener, а так не знаю...
0
unknown
12.04.2011, 16:11 3
а можно поподробнее про AncestorListener?
Coresh DRAW!
2 / 2 / 7
Регистрация: 19.10.2009
Сообщений: 225
13.04.2011, 11:51 4
Можно, но я ошибся - эта штука не подходит для твоих целей. Отследить изменение размера способен только ComponentListener, но он срабатывает только после отпускания мыши...
Попробуй сделать так. Создай поток, который каждую десятую или сотую секунды проверяет, изменился ли размер окна. Если да, то перерисуй окно.
0
Coresh DRAW!
2 / 2 / 7
Регистрация: 19.10.2009
Сообщений: 225
13.04.2011, 12:16 5
Вот тебе пример, однако у меня прорисовка происходит только после отпускания мыши. Наверное, это зависит от операционной системы.
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
import java.awt.*;
import java.applet.*;
 
public class ResizeApplet extends Applet implements Runnable
{
    private Dimension windowSize;
 
    public void init()
    {
        Thread sizeHandler = new Thread(this);
        sizeHandler.start();
    }
 
    public synchronized void paint(Graphics g)
    {
        g.fillRect(windowSize.width/2-5, windowSize.height/2-5, 10, 10);
    }
 
    public void run()
    {
        while(true)
        {
            Dimension currentSize = getSize();
 
            if(!currentSize.equals(windowSize))
            {
                windowSize = currentSize;
                repaint();
            }
 
            try
            {
                Thread.sleep(10);
            }
            catch(Exception e)
            {
                e.printStackTrace(System.err);
            }
        }
    }
}
0
unknown
14.04.2011, 01:13 6
Большое спасибо за пример. В принципе сам я больше и не могу представить вариантов решений по этому вопросу кроме как данный подход...
Coresh DRAW!
2 / 2 / 7
Регистрация: 19.10.2009
Сообщений: 225
14.04.2011, 09:49 7
Заработало?
0
Enfire
0 / 0 / 0
Регистрация: 12.04.2011
Сообщений: 7
14.04.2011, 11:39 8
Coresh DRAW!:
'Попробуй сделать так. Создай поток, который каждую десятую или сотую секунды проверяет, изменился ли размер окна. Если да, то перерисуй окно.'

Походу размер окна собственно и изменяется после отпускания мыши, а не после перетаскивания. У нас в лаборатории вроде как не разобрались с этой проблемой и вполне возможно, что в свинге никак нельзя это словить
0
unknown
14.04.2011, 17:30 9
работает только если в IE с микросовтской JVM, между прочим работает даже и без потока, который следит.
Coresh DRAW!
2 / 2 / 7
Регистрация: 19.10.2009
Сообщений: 225
15.04.2011, 10:56 10
В принципе, какая разница, во время или после? Это все красивости...
Или я не прав?
0
unknown
15.04.2011, 14:58 11
прав. я тоже так считаю. просто есть люди которые этого не понимают и требуют
Coresh DRAW!
2 / 2 / 7
Регистрация: 19.10.2009
Сообщений: 225
17.04.2011, 10:25 12
)))
Обычное дело в нашей профессии...
0
Oleg Savelev
0 / 0 / 0
Регистрация: 12.11.2010
Сообщений: 7
19.04.2011, 02:48 13
Исключительно в качестве предположения (так как сам на практике с такими вещами не сталкивался), но уж очень похоже описано:

Код
setDynamicLayout(boolean dynamic)
Controls whether the layout of Containers is validated dynamically during resizing, or statically, after resizing is complete.

Это была выдержка из API на
Код
java.awt.Toolkit
Взято с http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Toolkit.html
0
unknown
19.04.2011, 12:28 14
да. действительно, мне удалось проверить работу метода
this.getToolkit().setDynamicLayout(true); для текущего фрейма и это работает, т.е. содержимое фрейма динамически перерисовывается при изменении размеров окна даже без отпускания мыши.
Но... к велкому сожлению это реализовано в Java2, а мне нужно было бы чтобы это работало в jdk1.1.8. А так - механизм классный!
19.04.2011, 12:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.04.2011, 12:28

Чтение файла и вывод его содержимого на экран
помогите разобраться с чтением файла и выводом его содержимого на экран... а то...

Открытие записей в ListBox и сохранение его содержимого
Немогу зделать так чтобы сроки в ListBox сохрананялысь на другой форме в...

Вывод содержимого файла при его обновлении
Есть файл log.txt, в который через неопределенный интервал времени добавляется...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru