2009-05-29 17 views
0

J'ai un plugin Eclipse qui affiche une vue. Ce que je veux faire est d'afficher n images dans la vue dans une seule rangée avec une étiquette centrée sous chaque image. Je veux voir pour être scrollable. Je souhaite également que chaque image soit redimensionnée lorsque les dimensions de la vue (ScrolledComposite? Composite?) Changent de sorte qu'elle utilise la zone client verticale et horizontale disponible.Application d'image Eclipse RCP: Comment afficher mes images?

J'ai mis en œuvre ce qui suit dans la méthode createViewPart (déclarations et la vérification des erreurs a été omis):

 
    public void createPartControl(Composite parent) { 

     ScrolledComposite myScrolledComposite = new ScrolledComposite(parent, 
     SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER); 

     myComposite = new Composite(myScrolledComposite, SWT.NONE); 

     myScrolledComposite.setContent(myComposite); 
    } 

Quelle est la meilleure approche de ce point en avant?

  1. Dois-je sous-classe Composite et ont cette classe dessiner une image donnée sur elle-même et centrer une étiquette sous l'image?
  2. Quel gestionnaire de disposition dois-je utiliser pour centrer l'étiquette sous l'image?
  3. Le paramètre "parent" de ma sous-classe doit-il être "myComposite"?
  4. Quel gestionnaire de disposition dois-je utiliser avec "myComposite"?
  5. En ce qui concerne le redimensionnement des images, dois-je calculer la largeur et la hauteur disponibles en utilisant getBounds de "myComposite" - getBounds de mon composite sous-classé?

Merci pour votre aide.

Répondre

0

Je vous suggère de jeter un oeil à la Gallery widget provided by the Eclipse Nebula project, peut-être vous pouvez l'utiliser ou au moins obtenir quelques idées de la façon dont ils l'ont mis en œuvre.

+0

Merci, je vais vérifier. –

+0

J'ai vérifié le widget Galerie. C'était juste ce dont j'avais besoin. Les développeurs utilisant des widgets SWT doivent absolument consulter le widget Galerie et les autres widgets qui composent le projet Eclipse Nebula. –