Précédent   Forum du club des développeurs et IT Pro > Java > Interfaces Graphiques en Java > SWT/JFace
SWT/JFace Forum d'entraide pour les API SWT/JFace. Avant de poster -> FAQ SWT/JFace
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 14/09/2012, 15h42   #1
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
Par défaut Problème de conception Composite dans un View

Bonjour,

J'ai un soucis ihm, mais je pense que cela vient plus de la conception du truc.
J'ai un ViewPart dans laquelle j'ai 2 boutons check et un Composite en dessous contenant un TabFolder.
Ce composite est défini dans une autre classe.
Par défaut c'est la classeCompo1 qui est appelée et le bouton 1 qui est sélectionné.

Si l'utilisateur sélectionne le bouton 2 le Composite classeCompo1 doit disparaitre et c'est un nouveau Composite qui doit être construit via la classeCompo2 et inversement si le bouton 1 est sélectionné.

J'ai 2 problèmes:
- le cas par défaut j'affiche bien mon Composite classeCompo1 mais le super de ma classeCompo1 qui étends Composite, crée un petit carré au dessus du TabFolder :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
 
public void createPartControl(Composite parent) {
 
FormToolkit toolkit = new FormToolkit(parent.getDisplay());
	form = toolkit.createScrolledForm(parent);
	GridData gdform = new GridData();
	gdform.horizontalAlignment = SWT.TOP;
	gdform.verticalAlignment = SWT.RIGHT;
	form.getBody().setLayoutData(gdform);
 
Composite Compo1 = toolkit.createComposite(form.getBody(), SWT.BORDER);
	GridLayout gl = new GridLayout();
	gl.numColumns = 32;
	gl.marginBottom = 0;
	gl.marginTop = 0;
 
button1 = toolkit.createButton(Compo1, Messages.getString("Pouet1"), SWT.RADIO);
	gd = new GridData();
	button1.setSelection(true);
	button1.setLayoutData(gd);
	button1.addSelectionListener(new SelectionListener() {
		@Override
		public void widgetSelected(SelectionEvent e) {
			if (button1.getSelection()){
}
		}
 
		@Override
		public void widgetDefaultSelected(SelectionEvent e) {	
		}
});
 
Button2 = toolkit.createButton(Compo1, Messages.getString("Pouet2"), SWT.RADIO);
	gd = new GridData();
	button2.setSelection(true);
	button2.setLayoutData(gd);
	button2.addSelectionListener(new SelectionListener() {
		@Override
		public void widgetSelected(SelectionEvent e) {
			if (button2.getSelection()){
}
		}
 
		@Override
		public void widgetDefaultSelected(SelectionEvent e) {	
		}
});
 
classeCompo1 Compo1 = new classeCompo1(form.getBody());
 
}
 
public class classeCompo1 extends Composite {
public classeCompo1 (Composite parent) {
		//
		super(parent, SWT.BORDER);		
		TabFolder tabfolder = new TabFolder(parent, SWT.NONE);
….
}
- et comment je fais sur changement de sélection pour mettre à jour mon Composite qui doit afficher soit classCompo1 soit classCompo2 ?
je suis face à une page blanche et je n'ai aucune idée de comment m'y prendre ???

HELP !

J'espère que c'est assez clair mon histoire
Merci !

Chris
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2012, 11h16   #2
Gueritarish
Modérateur
 
Avatar de Gueritarish
 
Homme Marc
Développeur Java
Inscription : mai 2007
Messages : 1 567
Détails du profil
Informations personnelles :
Nom : Homme Marc
Âge : 28
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : mai 2007
Messages : 1 567
Points : 3 430
Points : 3 430
Salut,

Pour ton problème de changement de Composite, tu as un layout qui s'occupe de ça facilement, c'est le StackLayout. En gros, tu ajoutes des éléments dans un Composite et tu sélectionnes le Control que tu veux afficher grâce à un attribut du layout: topControl. Tu as un snippet là-dessus.
Pour ton second problème, une image serait la bien venue... Parce que là, je vois pas trop

Voilà, à+
Gueritarish
__________________
Pas de questions technique par MP, les forums sont là pour ça.

Le 5 et 6 juin à Toulouse, la première EclipseCon France !
Gueritarish est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/09/2012, 11h25   #3
kkt8
Membre régulier
 
Avatar de kkt8
 
Christelle
Inscription : janvier 2005
Messages : 274
Détails du profil
Informations personnelles :
Nom : Christelle
Localisation : France, Isère (Rhône Alpes)

Informations forums :
Inscription : janvier 2005
Messages : 274
Points : 98
Points : 98
Salut !

Le 1er problème a été résolu, en fait je construisais mes éléments dans le constructeur au lieu de la fonction createPartControl et tout de suite ça va mieux !

Pour le 2d, je progresse mais c'est pas gagné, tous les controles ne se mettent pas à jour facilement ... je vais regarder du coté du StackLayout, merci !
kkt8 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 18h25.


 
 
 
 
Partenaires

Hébergement Web