2009-06-26 3 views
2

Comment SWT détermine-t-il comment mettre à l'échelle les images d'une table?Comment puis-je adapter correctement l'échelle d'image jable ITableTabelProvider?

J'utilise un ITableLabelProvider pour fournir des images pour une table SWT.

J'ai récemment élargi les colonnes de la table de 140 à 170 et j'ai élargi l'objet Image passé de ITableLabelProvider. SWT met désormais à l'échelle cette image de 170 pixels jusqu'à 140 pixels et affiche 30 pixels de texte vide sur le côté droit. J'ai pris toutes les références à l'ancienne largeur que je connais.

D'autres cellules contiennent uniquement du texte, et celles-ci se comportent parfaitement correctement. Les largeurs TableItem, Column et Image sont définitivement toutes 170.

Je cours swt3.3 et jface 3.4.2 sur Windows XP.

J'ai une solution de contournement qui écoute les événements SWT.PaintItem sur la table, puis dessine l'image directement dans le contexte graphique de l'événement Paint. Cela semble faire l'affaire, mais il m'embête vraiment que je ne comprends pas comment faire fonctionner la solution plus élégante.

Répondre

3

Maintenant, je comprends.

un coup d'oeil à ce http://dev.eclipse.org/newslists/news.eclipse.platform.swt/msg15042.html

La première image insérée dans une colonne de table déterminera les dimensions de toutes les autres images insérées dans cette colonne de table.

Dans un sens silencieux et difficile à déboguer. Vous devez juste connaître le secret.

J'ai ajouté 30 pixels d'espace blanc à la première image ajoutée à la table, et maintenant cela fonctionne parfaitement.

Questions connexes