Как заставить repaint в Swing во время отладки? [Дубликат]

в файле: matPaginatorIntlCroClass.ts

import {MatPaginatorIntl} from '@angular/material';
export class MatPaginatorIntlCro extends MatPaginatorIntl {
  itemsPerPageLabel = 'Items par page';
  nextPageLabel     = 'Page Prochaine';
  previousPageLabel = 'Page Précedente';
}

в файле: AppModule.ts:

import { MatPaginatorModule, MatPaginatorIntl} from '@angular/material';
import { MatPaginatorIntlCro } from './matPaginatorIntlCroClass'

@NgModule({
  imports: [],
  providers: [{ provide: MatPaginatorIntl, useClass: MatPaginatorIntlCro}],
  ..
})

Источник: https://material.angular.io / компоненты / Paginator / апи

6
задан tubaguy50035 5 July 2012 в 22:28
поделиться

2 ответа

В соответствии с это (см. раздел «Синхронная живопись») метод paintImmediately () должен работать.

2
ответ дан bobndrew 31 August 2018 в 12:58
поделиться

Самый надежный способ заставить Swing обновить дисплей - использовать SwingUtilities.invokeLater. В вашем случае это выглядело бы как

SwingUtilities.invokeLater(new Runnable {
                             public void run() { 
                                somecomponent.repaint();
                             }
                           });

. Я понимаю, что «invokelater» не совсем похоже на то, что он делает что-то немедленное, но на практике события, размещенные таким образом, обычно выполняются довольно быстро по сравнению с просто называя somecomponent.repaint() напрямую. Если вы абсолютно должны заставить свой управляющий код ждать обновления графического интерфейса, то есть также invokeAndWait, но мой опыт в том, что это редко необходимо.

См. Также: документ о отправке события в Swing.

0
ответ дан phooji 31 August 2018 в 12:58
поделиться
Другие вопросы по тегам:

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