В Swing, там способ временно заморозить перекрашивание иерархии вместимости JComponent?

Нет. Точка 4 является неправильной. Каждый узел записывает в стабильном устройстве хранения данных, что это смогло фиксировать или откатывать транзакцию, так, чтобы это было в состоянии сделать, как управляется даже через катастрофические отказы. Когда разрушенный узел возвращается, он должен понять, что имеет транзакцию в состоянии перед фиксацией, восстановите любые соответствующие блокировки или другие средства управления, и затем попытайтесь связаться с сайтом координатора для сбора состояния транзакции.

проблемы только происходят, если разрушенный узел никогда не возвращается (тогда, все остальное думает, что транзакция была в порядке, или будет, когда разрушенный узел возвращается).

5
задан Uri 15 September 2009 в 18:06
поделиться

2 ответа

Кроме того, на всякий случай причина, по которой вы делаете это, заключается в том, что вы делаете кучу обновлений графического интерфейса для компонентов и беспокоитесь обо всех этих автоматически отправленных перерисовках (), не надо. repaint () не отрисовывает немедленно, он отправляет отложенное событие перерисовки в очередь событий AWT, которое объединяет несколько перерисовок для данной области, чтобы избежать повторения одного и того же закрашивания снова и снова.

3
ответ дан 15 December 2019 в 01:06
поделиться

Отмена рисования (Графика) , чтобы ничего не делать, если установлен флаг, предотвратит рисование; вы также можете добавить свою собственную двойную буферизацию, переопределив рисование на изображении.

Вы можете включить двойную буферизацию для каждого компонента JComponent с помощью метода setDoubleBuffered (boolean) этого компонента, вам не нужно ничего делать, если это все, что вам нужно.


Даже если вы отключите рисование в компоненте верхнего уровня, переопределив рисование, это не помешает дочерним компонентам рисовать, если они получают события; вы можете заменить содержимое кадра статическим изображением (созданным в результате вызова paint с графикой из буферизованного изображения).

вы также можете добавить свою собственную двойную буферизацию, переопределив рисование на изображении.

Вы можете включить двойную буферизацию для каждого компонента JComponent, используя метод setDoubleBuffered (boolean) этого компонента, вам не нужно ничего делать, если это все, что вам нужно.


Даже если вы отключите рисование в компоненте верхнего уровня, переопределив рисование, это не остановит рисование дочерних компонентов, если они получают события; вы можете заменить содержимое кадра статическим изображением (созданным в результате вызова paint с графикой из буферизованного изображения).

вы также можете добавить свою собственную двойную буферизацию, переопределив рисование на изображении.

Вы можете включить двойную буферизацию для каждого компонента JComponent с помощью метода setDoubleBuffered (boolean) этого компонента, вам не нужно ничего делать, если это все, что вам нужно.


Даже если вы отключите рисование в компоненте верхнего уровня, переопределив рисование, это не помешает дочерним компонентам рисовать, если они получают события; вы можете заменить содержимое фрейма статическим изображением (созданным в результате вызова paint с графикой из буферизованного изображения).


Даже если вы отключите рисование в компоненте верхнего уровня, переопределив рисование, это не помешает дочерним компонентам рисовать, если они получают события; вы можете заменить содержимое кадра статическим изображением (созданным в результате вызова paint с графикой из буферизованного изображения).


Даже если вы отключите рисование в компоненте верхнего уровня, переопределив рисование, это не помешает дочерним компонентам рисовать, если они получают события; вы можете заменить содержимое кадра статическим изображением (созданным в результате вызова paint с графикой из буферизованного изображения).

1
ответ дан 15 December 2019 в 01:06
поделиться
Другие вопросы по тегам:

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