IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SWT/JFace Java Discussion :

espacement de text


Sujet :

SWT/JFace Java

  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut espacement de text
    hello,

    avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    60
    61
    62
    63
     
    public void createControl(Composite parent) {
     
    		Composite topLevel = new Composite(parent, SWT.NONE);
    		GridLayout layout = new GridLayout();
    		layout.numColumns = 2;
    		layout.verticalSpacing = 12;
    		topLevel.setLayout(layout);
    		topLevel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL
    				| GridData.HORIZONTAL_ALIGN_FILL));
    		topLevel.setFont(parent.getFont());
    		PlatformUI.getWorkbench().getHelpSystem().setHelp(topLevel,
    				IIDEHelpContextIds.NEW_FILE_WIZARD_PAGE);
     
    		Label label = new Label(topLevel, SWT.WRAP);
    		label.setText(StringHelper.toFirstUpper(model) + " Name :");
    		label.setFont(this.getFont());
     
    		fileNameField = new Text(topLevel, SWT.SINGLE | SWT.BORDER);
    		fileNameField.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    		fileNameField.addModifyListener(validator);
    		fileNameField.setFont(this.getFont());
     
    		if (null != containerFullPath) {
    			String fileName = getFileCreator().getUniqueFileName(
    					containerFullPath, DEFAULT_FILENAME);
    			fileNameField.setText(fileName);
    		}
     
    		Label desc = new Label(topLevel, SWT.WRAP);
    		desc.setText("Description :");
    		desc.setFont(this.getFont());
     
    		description = new Text(topLevel, SWT.SINGLE | SWT.BORDER);
    		GridData gridData = new GridData();
    		gridData.widthHint = 300;
    		gridData.verticalSpan = 3;
    		gridData.horizontalAlignment = GridData.FILL;
    		gridData.verticalAlignment = GridData.BEGINNING;
    		gridData.heightHint = 80;
    		description.setLayoutData(gridData);
    		description.addModifyListener(validator);
     
    		GridLayout layoutMdf = new GridLayout();
    		layoutMdf.numColumns = 3;
    		layoutMdf.verticalSpacing = 12;
     
    		Label context = new Label(topLevel, SWT.WRAP);
    		context.setText("Context :");
    		context.setFont(this.getFont());
    		context.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     
    		mdfFileName = new Text(topLevel, SWT.SINGLE | SWT.BORDER);
    		mdfFileName.addModifyListener(validator);
    		mdfFileName.setFont(this.getFont());
    		mdfFileName.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     
    		Button button = new Button(topLevel,SWT.NONE);
    		button.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
     
     
    		setControl(parent);
    	}
    j obtiens le resultat du printscreen suivant :

    j aimerais savoir comment faire pour que mon texte "context" et que le champ texte et le button soit sur la meme ligne

    d avance merci

  2. #2
    Membre Expert
    Avatar de yotta
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2006
    Messages
    1 088
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 088
    Par défaut Réponse possible
    Bonjour,

    J'ai longtemps ramé avec ces histoires de positionnements des contrôles.
    Puis un jour, j'ai découvert que l'on pouvait faire totalement abstraction des conteneur du genre GridBagLayout ou toute autre sous-classes de Layout.
    Il suffit de setter à null le layout du conteneur principale, puis de positionner les composant manuellement à l'aide de leur méthode setBounds(x, y, largeur, hauteur).
    Exemple :
    import javax.swing.*;
    import javax.swing.border.*;

    public class test {
    public static void main(String args[]) {
    JFrame fenetre = new JFrame("fenêtre de test");
    fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    fenetre.setSize(800, 600);
    JPanel habillage = new JPanel();
    habillage.setLayout(null);
    habillage.setBounds(0, 0, 800, 600);
    JLabel Lbl_Info1 = new JLabel("Ce label est positionné tel que : X=195, Y=290, largeur=410, hauteur=20");
    Lbl_Info1.setBounds(195, 290, 410, 20);
    Lbl_Info1.setBorder(new EtchedBorder(EtchedBorder.RAISED));
    Lbl_Info1.setHorizontalAlignment(JLabel.CENTER);
    habillage.add(Lbl_Info1);
    fenetre.add(habillage);
    fenetre.setVisible(true);
    }

    Voilà, je trouve personnellement que c'est plus propre comme positionnement, cependant, il devient quasi impératif de gérer et de vérouiller la taille de la fenêtre principale car contrairement à un GridBagLayout qui recalculera le positionnement de son contenu à chaque redimensionnement, dans ce cas, rien de se redimensionne....
    Une technologie n'est récalcitrante que par ce qu'on ne la connait et/ou comprend pas, rarement par ce qu'elle est mal faite.
    Et pour cesser de subir une technologie récalcitrante, n'hésitez surtout pas à visiter les Guides/Faq du site !

    Voici une liste non exhaustive des tutoriels qui me sont le plus familiers :
    Tout sur Java, du débutant au pro : https://java.developpez.com/cours/
    Tout sur les réseaux : https://reseau.developpez.com/cours/
    Tout sur les systèmes d'exploitation : https://systeme.developpez.com/cours/
    Tout sur le matériel : https://hardware.developpez.com/cours/

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    j ai finalement choisi le setBounds

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Espace Figure - Texte
    Par BeZouT20 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 18
    Dernier message: 05/05/2017, 21h41
  2. Espace "static text"
    Par Imène_23 dans le forum Interfaces Graphiques
    Réponses: 3
    Dernier message: 09/06/2009, 09h43
  3. [HTML] espace entre text et image
    Par {F-I} dans le forum Balisage (X)HTML et validation W3C
    Réponses: 18
    Dernier message: 27/03/2008, 20h06
  4. Espacement du texte !
    Par Franck.H dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 18/05/2007, 15h43
  5. [XSLT]Espace dans texte
    Par Invité dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 18/12/2006, 11h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo