Pakken org.eclipse.jface.operations definerer grensesnitt for tidkrevende operasjoner som krever fremdriftsindikatorer, eller som lar brukeren avbryte operasjonen. Disse grensesnittene brukes i implementeringen av arbeidsbenkens dialogbokser og visninger for fremdrift.
Vanligvis bør plugin-moduler bruke arbeidsbenkstøtten i IProgressService ved kjøring av tidkrevende operasjoner, slik at fremdriften blir vist på samme måte i alle plugin-moduler. Du finner en komplett beskrivelse av tilgjengelig støtte for dialogbokser og visninger for fremdrift, i Støtte for samtidighet i arbeidsbenken. Her ser vi nærmere på detaljer rundt infrastrukturen for JFace-operasjoner som brukes av arbeidsbenken.
Plattformkjøretiden definerer et felles grensesnitt, IProgressMonitor, som rapporterer fremdriften til brukeren mens tidkrevende operasjoner utføres. Klienten kan bruke en overvåker som en parameter i en rekke metoder for plattform-API, når det er viktig at brukeren får se fremdriften.
JFace definerer mer spesifikke grensesnitt for objekter som implementerer brukergrensesnittet for en fremdriftsovervåker.
IRunnableWithProgress er grensesnittet for tidkrevende operasjoner. Grensesnittets run-metode har en IProgressMonitor-parameter som brukes til å rapportere fremdrift, og kontrollere om brukeren har avbrutt operasjonen.
IRunnableContext er grensesnittet for de stedene i brukergrensesnittet der fremdriftsrapportering kan utføres. Klasser som implementerer dette grensesnittet, kan vise fremdriften og kjøre operasjonen ved hjelp av andre metoder. For eksempel implementerer ProgressMonitorDialog dette grensesnittet ved å vise en dialogboks for fremdrift. IWorkbenchWindow implementerer dette grensesnittet ved å vise fremdriften på statuslinjen i arbeidsbenkvinduet. WizardDialog implementerer dette grensesnittet for å vise tidkrevende operasjoner på statuslinjen i veiviseren.
Merk: Brukergrensesnittet for arbeidsbenken tilbyr ytterligere støtte for operasjoner i WorkspaceModifyOperation. Klassen forenkler implementeringen av tidkrevende operasjoner som endrer arbeidsområdet. Den oppretter tilordninger mellom IRunnableWithProgress og IWorkspaceRunnable. Du finner flere opplysninger i Javadoc.
Klassen ModalContext brukes for å kjøre en operasjon som er modal fra klientkodens perspektiv. Den brukes i de ulike implementeringene av IRunnableContext. Hvis plugin-modulen må vente på at tidkrevende operasjoner skal fullføres før den kan fortsette utføringen, kan ModalContext brukes til dette formål samtidig som brukergrensesnittet svarer.
Når du kjører en operasjon i en modal kontekst, kan du forgrene operasjonen i en annen tråd. Hvis fork er "false", vil operasjonen bli kjørt i kalltråden. Hvis fork er "true", vil operasjonen bli kjørt i en ny tråd, kalltråden vil bli blokkert og hendelsesløyfen for brukergrensesnittet vil bli kjørt til operasjonen avsluttes.
Du finner mer informasjon om hendelsessløyfen for brukergrensesnitt, i Trådbehandlingsspørsmål.