Comme le titre le montre, je veux ajouter un écouteur à mon interface utilisateur rcp afin de détecter la maximisation et la minimisation. En fait, ce n'est pas mon but réel, mais je pense que c'est un moyen de résoudre mon problème. J'ai une vue avec quelques formes au centre, et je vais garder le dessin exactement au centre même si la fenêtre est redimensionnée. Pour ce faire, je l'auditeur suivant:Détecter par programme la maximisation/minimisation de fenêtre ??? Eclipse RCP
public void createPartControl(final Composite parent) {
display = parent.getDisplay();
white= display.getSystemColor(SWT.COLOR_WHITE);
parent.setLayout(new FillLayout(SWT.VERTICAL));
final ScrolledComposite sc = new ScrolledComposite(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
sc.setMinHeight(100);
sc.setMinWidth(100);
sc.setSize(565, 305);
final Composite child = new Composite(sc,SWT.NONE);
child.setLayout(new FillLayout());
// Set child as the scrolled content of the ScrolledComposite
sc.setContent(child);
child.setBackground(white);
gc = new GC(child);
parent.addListener (SWT.Resize, new Listener() {
public void handleEvent (Event e) {
x = child.getBounds().width/2;
y = child.getBounds().height/2;
child.addPaintListener(new PaintListener() {
public void paintControl(PaintEvent event) {
dessin(gc); // draw my shapes
}
});
}
tout va bien sauf quand j'agrandissez la fenêtre, puis le réduire, dans ce cas, je lâche le dessin (il est dans le coin). Une idée s'il vous plaît? Je pense à la bonne façon?
Il semble qu'il manque un code vital dans l'exemple. Mais ... lorsque l'événement resize est vu pour le parent, l'enfant n'a pas besoin d'être redimensionné. –
Oh oui, vous avez raison, je dois ajouter l'auditeur à l'enfant et non le parent .. merci – jean24