Чтобы избежать каких-либо мерцаний после того, как JWindow установлено значение visible, я сделал это так, но все же я вижу в течение нескольких миллисекунд какой-то JLabel (дерево: JWindow -> JPanel -> JLabel) старый текст, затем текст меняется на новое значение (это необходимо сделать до того, как JWindow станет видимым):
public SomeExtendedJWindow extends SomeJWindow {
@Override
public void setVisible(boolean visible) {
if (visible) {
class doGraphics extends SwingWorker<Void, Object> {
@Override
public Void doInBackground() {
validate();
pack();
return null;
}
@Override
protected void done() {
SomeJWindow.super.setVisible(true);
}
}
(new doGraphics()).execute();
}
}
}
Может быть, мне также следует проверить или сделать что-то с JLabels?
someJPanel, а такжеsomeJLabelвvalidate();- безуспешно.. Может быть, я попытаюсь установитьJLabelтекст прямо перед закрытием диалога. - person Ernestas Gruodis   schedule 11.09.2013SSCCE, чтобы мы могли сами запустить код и посмотреть, что именно вы делаете. - person camickr   schedule 11.09.2013JWindowвместо создания нового? - person Ernestas Gruodis   schedule 16.09.2013