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 :

position des elements (debut avec swt)


Sujet :

SWT/JFace Java

  1. #1
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut position des elements (debut avec swt)
    bonjour
    j'aimerai pouvoir placer comme je l'entend mes elements telque les buttons ,text et autre, et aussi pouvoir les redimensionner actuellement tout est aligne les uns a la suite des autres et j'ai pas ce que je veux j'ai tester

    Button Bopen ; Bopen.setLocation(400,200);
    Bopen.toDisplay(600, 400); mais rien a faire il rest a sa meme position or
    shell.setSize(800, 600); fonctionne bien et j'ai bien une fenetre 800x600 tant dis que pour un text la meme fonction en fait rien voici mon code
    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
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
     
    import org.eclipse.swt.widgets.*;
    import org.eclipse.swt.SWT;
    import org.eclipse.swt.layout.*;
     
    public class Test 
    {
     
    	private static String getEventName(int type) 
    	{
    	  switch(type)
    	  {	
    	  case SWT.Selection:
    		  return "selection";
    	  }		
    	  return "unknown ???";
    	}
     
     
    	public static void main(String[] args) 
    	{
    		Display disp=new Display();
    		Shell shell = new Shell(disp);
     
    		shell.setSize(800, 600);
     
    		shell.setLayout(new GridLayout(3,true));
    		shell.setText("hello !");
     
    		Button Bopen =new Button(shell,SWT.PUSH);
    		Button Btrans =new Button(shell,SWT.PUSH);
     
    		Bopen.setText("Open");
    		Btrans.setText("Transform");
     
    		final Text rdText = new   Text(shell,SWT.MULTI|SWT.V_SCROLL|SWT.READ_ONLY|SWT.BORDER|SWT.WRAP);
                    rdText.setSize(100, 300);   //absolument aucun effet
    		rdText.setText("chose your file and press Open");
     
     
    		Bopen.addListener(SWT.Selection, new Listener() 
    		  {public void handleEvent(Event e){
     
    				System.out.println(getEventName(e.type));
    				switch(e.type)
    				{
    				case SWT.Selection:     //le blabla c'est pour voir le multiline mais j'ai qu'une seule ligne mais ca scroll
    					rdText.setText("Open pressed !dfdfdfddsfdfdfdfdfdfdfdfdfdfdfdfafdfasfsdafsfasfsdfasdfdsafds");
    					break;
    				}
    			  }
    			});
    		Btrans.addListener(SWT.Selection, new Listener() 
    		  {public void handleEvent(Event e){
     
    				System.out.println(getEventName(e.type));
    				switch(e.type)
    				{
    				case SWT.Selection:
    					rdText.setText("");
    					rdText.setText("Open Transform !");
    					break;
    				}
    			  }
    			});
     
     
     
     
    		shell.open();
     
    		while(!shell.isDisposed())
    		{
    			if(!disp.readAndDispatch())
    				disp.sleep();
    		}
    		disp.dispose();
     
    	}
     
    }
    rdText.setSize(100, 300); j'ai absolument aucun effet
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  2. #2
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    Tu utilises ce que l'on appelle le positionnement absolu, c'est à dire que tu places les éléments toi même. Pour le Text qui ne se positionne pas c'est parce que tu appelles uniquement setSize() donc le controle a une taille mais pas de position, tu dois appeller aussi la méthode setLocation pour le positionner dans ta fenêtre mais le plus courant est d'utiliser la méthode setBounds(x, y, width, height) qui regroupe les deux méthodes setLocation() et setSize().

    Si tu débutes tu devrais commencer par apprendre comment placer les composants avec un gestionnaire de positionnement (Layout) qui s'occupera de placer tes composants dans leur parent. Je te conseille de lire les cours sur SWT qui sont en ligne et très bien fait pour débuter.

    Si tu souhaites vraiment placer les controles "à la main" il faut que tu ajoutes un écouteur (addListener(SWT.Resize, ... ) ou addControlListener( ... )) au conteneur de tes controles (en l'occurence ton instance de Shell) qui te permettras d'être prévenu des changement de taille de celui ci, grace à la méthode getClientArea() tu pourras connaìtre la taille actuelle de la zone affichable tu conteneur et tu pourras ainsi placer tes controles.

    En espérant t'avoir aidé, bon apprentissage.

  3. #3
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    En fait ca repond entierement a ma question.
    Je prendrai le temps de mieux apprendre pour le moment je fais un truc urgent. une derniere question c'est j'aimerai justement interdire le resize, forcer la fenetre a garder la taille de 800x600 puis je avoir l'info
    1000 fois Merci. je mettrai resolu
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379
    Par défaut
    Pour cela il faut utiliser les style de construction du Shell,
    example :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Display display = new Display();
     
    Shell shell1 = new Shell(display, SWT.SHELL_TRIM);
    //une fenêtre avec tous les attribu d'une fenêtre (fermer, réduire, maximiser, titre, redimensionner).
     
    Shell shell2 = new Shell(display, SWT.CLOSE | SWT.MIN | SWT.MAX | SWT.TITLE | SWT.BORDER);
    //une fenêtre qui ne se redimensionne pas car le style SWT.RESIZE n'est pas présent.

  5. #5
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    Merci j'ai vraimen plus rien a ajouter.

    puis-je avoir un bon tuto quelque par qui me donnera un cour assez complet sur swt?

    encore merci
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  6. #6
    Membre averti Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Points : 391
    Points
    391
    Par défaut
    Moi j'avais trouvé ce petit tuto en français pas mal pour débuter en Java : http://java.developpez.com/cours/
    Développeuse
    Merci d'expliquer aux autres la solution si vous la trouvez, par respect pour ceux qui prennent le temps de tenter de vous aider !

  7. #7
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  8. #8
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2007
    Messages : 340
    Points : 379
    Points
    379

  9. #9
    Membre averti Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Points : 391
    Points
    391
    Par défaut
    Citation Envoyé par lilington Voir le message
    ton lien m'a l'aire un peu mort a moins que ce soit le fait que je sois en chine. mais ça m'étonnerai bien
    Je viens de retester mon lien à l'instant, ça fonctionne très bien.

    Je pense donc que cela vient du fait que tu sois en chine, dommage ...
    Développeuse
    Merci d'expliquer aux autres la solution si vous la trouvez, par respect pour ceux qui prennent le temps de tenter de vous aider !

  10. #10
    Membre chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 800
    Points
    1 800
    Par défaut
    en realite tu es un magicien. apres ta verification le lien est passe net. ton test a debloque la sorte de proxi que les chinois ont installe lol
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

  11. #11
    Membre averti Avatar de Poulpynette
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    349
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 47
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 349
    Points : 391
    Points
    391
    Par défaut
    Une magicienne alors plutôt qu'un magicien
    Développeuse
    Merci d'expliquer aux autres la solution si vous la trouvez, par respect pour ceux qui prennent le temps de tenter de vous aider !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/06/2009, 20h46
  2. Position des composants sur une frame avec layout null
    Par bellemlih dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 14/12/2007, 22h13
  3. Position des composants avec Visual Editor
    Par Houssem dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 11/04/2007, 03h03
  4. [Debutant] Afficher des chaines unicodes avec println
    Par MichaelB dans le forum Langage
    Réponses: 2
    Dernier message: 10/01/2007, 19h39
  5. Accéder à la liste des elements avec un ID commencant par x
    Par vodnok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 05/12/2006, 12h11

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