Java : créer une interface graphique
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Java : créer une interface graphique



  1. #1
    cedbont

    Java : créer une interface graphique


    ------

    Bonjour,

    j'ai créé un programme dans java et je voudrais afficher ses résultats sous forme d'une applet. Donc, tout marche très bien : j'ai des boutons sur lesquels je peux cliquer et hop, le résultat s'affiche, mais la présentation n'est pas super : en fait mes boutons apparaissent les uns à la suite des autres, de même pour mes labels, champs,...

    Je voudrais savoir comment donner une taille prédéfinie à ma fenêtre et placer mes boutons et toutes les autres choses de façon ordonnée (exemple avec des coordonnées.)

    Aidez-moi à sortir de cette impasse ! Plz.

    -----
    Sauvons les traders !

  2. #2
    cedbont

    Re : Java : créer une interface graphique

    Ouah, cool, pour la taille de la fenêtre, il ne fallait pas chercher loin : setSize() fonctionne très bien. Mais pour placer mes boutons qui sont toujours à la queue leuleu ...
    Sauvons les traders !

  3. #3
    invite4ad25ccf

    Re : Java : créer une interface graphique

    Regarde du coté des différents Layout (GridLayout, BorderLayout, CardLayout ...)

  4. #4
    cedbont

    Re : Java : créer une interface graphique

    Après avoir vu ces différents layout, j'ai décidé d'opter pour le BorderLayout.
    Cependant, je n'arrive pas à aligner des composants horizontalement sans utliser WEST, CENTER et EAST. Mais dans ce cas, cela ne me fait que trois boutons (par exemple) d'alignés.
    Je voudrais en fait placer cinq boutons en haut de l'applet et alignés.

    Savez-vous comment faire ?
    Sauvons les traders !

  5. A voir en vidéo sur Futura
  6. #5
    invite4ad25ccf

    Re : Java : créer une interface graphique

    Le principe dans ce cas la c'est de faire des JPanel (ou je sais plus comment Java note ces panel) imbriqué les uns dans les autres, chacun avec son borderLayout. Donc dans ton North, tu mets un nouveau Panel, qui aura un borderLayout qui fera de l'alignement horizontal.

  7. #6
    cedbont

    Re : Java : créer une interface graphique

    Pour voir si j'ai bien compris, un JPanel est une sorte de BorderLayout que l'on peut mettre dans une case du BorderLayout ?
    Sauvons les traders !

  8. #7
    invite4ad25ccf

    Re : Java : créer une interface graphique

    Un JPanel (hérite de Container) est un panneau, tandis qu'un XXXXLayout est une facon de découper un Container pour y placer d'autre Container / Objet type bouton, ...

    Sinon, tu peux aussi utiliser le GridBagLayout pour faire ce que tu souhaite directement, un peu plus dur à manipuler la première fois, mais permet de mieux placer les composants. Enfin de toute facon, c'est toujours galère de faire une GUI comme on le souhaite

  9. #8
    cedbont

    Re : Java : créer une interface graphique

    J'ai mis un GridLayout dans la position NORTH du BorderLayout de l'applet et effectivement, ça marche !
    Juste une question de culture javastique : j'ai essayé avec un Panel et tu m'avais dit avec un JPanel que je retrouve par ailleurs dans pas mal de site internet. Le JPanel serait-il mieux : plus avancé que le Panel ?
    Sauvons les traders !

  10. #9
    invite4ad25ccf

    Re : Java : créer une interface graphique

    Panel fait parti du package awt, qui date de Java 1.0. De ce coté, le JPanel fait parti de swing, qui date de Java 1.2.
    Je ne pense pas qu'entre les deux il y ait une grande différence, mais ensuite l'utilisation du swing est beaucoup plus facile que l'awt (plus de composants ..)

  11. #10
    Stan_94

    Re : Java : créer une interface graphique

    Bonjour,
    juste 2 petites précisions...
    Un Panel comme un JPanel est un composant graphique Java (Container) alors que les GridLayouts sont des gestionnaires de placement, ils donnent les contraintes de placement des objets dans le composant...
    Pour ce qui est de la différence entre le Panel et le Jpanel, c'est surtout d'un point de vue gestion par la machine virtuel Java qu'ils se différencient. L'AWT (panel) se base directement sur les composants fournis par le système d'exploitation alors que Swing (Jpanel) se base d'abord sur des classes Java avant, au final, d'interagir avec le système d'exploitation. Ainsi, pour l'exemple, avec Swing on peux facilement changer le Look & Feel de l'interface.

  12. #11
    cedbont

    Re : Java : créer une interface graphique

    Je me rencontre qu'il y a un petit problème (il y a toujours un petit problème).
    En effet dans mon BorderLayout, j'ai dit qu'au NORTH, je mettais un Panel avec en partant de la gauche 2 Labels, 1 TextField, 1 Label, 1 TextField et 1 Button.
    Malheureusement, le Label de gauche est masqué par le Label de droite, même lorsque j'agrandis au maximum la fenêtre.
    Ce que je préférerais c'est que ce soit le Label de gauche qui soit au premier plan.
    A la rigueur, on pourrait peut-être essayer d'écrire le Label de gauche sur deux ligne, mais là encore, je ne vois pas comment faire !
    Sauvons les traders !

Discussions similaires

  1. Creer une liste chainée en JAVA
    Par inviteeecca5b6 dans le forum Logiciel - Software - Open Source
    Réponses: 8
    Dernier message: 31/05/2012, 19h30
  2. mise a jour interface sous java avec liaison a mysql
    Par invite1bc1ddb5 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 21/02/2008, 18h26
  3. Créer une interface utilisateur.
    Par invited2dbaf38 dans le forum Électronique
    Réponses: 44
    Dernier message: 17/01/2008, 11h31
  4. Créer une interface gérant le port USB.
    Par invite18ba9d7c dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/03/2007, 23h11
  5. Interface graphique en java
    Par invitef7bc8097 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 27/04/2006, 23h32
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...