Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Aide débutant ! [ Divers / Débutant(e) ] (zut69)

mardi 12 août 2008 à 12:16:29 | Aide débutant !

zut69

Bonjour,

J'ai créer une applet, mais pour tout ce qui est de l'affichage j'arrive pas à avoir ce que je veux.
Du coup, j'aurais besoin d'un peu d'aide pour le init()

Je voudrais quelque chose qui ressemble à ça:

-------------------------------------------------------------------------
| Checkbox1                             |                                                            |
| Checkbox2                             | ici un JScrollPane                                 |
| Checkbox3                             |                                                            |
| JProgressBar                           |                                                            |
|                                         Parcourir...                                                   |

Voilà. J'ai fait quelques essais, mais j'ai toujours que 1 ou 2 éléments affichés
et suivant l'ordre du add, c'est une fois la checkbox3, une fois le JScrollPane, etc

J'ai essayé avec ça:

en sachant que les bits_... sont des Checkbox appartenant à un CheckboxGroup "groupe"
scrollpane1 est un JScrollPane avec textbox inclus.
button1 est un JButton.

    this.getContentPane().add(bits_18);
    this.getContentPane().add(bits_512);
    this.getContentPane().add(bits_1024);
    this.getContentPane().add(scrollpane1);
    this.getContentPane().add(button1, BorderLayout.SOUTH);

Avec le code ci-dessus, j'ai juste le JScrollPane et le bouton Parcourir qui s'affiche.

Merci d'avance pour votre aide,

FF

mardi 12 août 2008 à 14:51:00 | Re : Aide débutant !

Madvin

Réponse acceptée !
Salut,

C'est ta façon d'insérer les éléments dans le ContentPane qui n'est pas correcte.
Il faut que tu utilises d'autres layout afin d'y insérer les objets que tu veux et dans l'agencement que tu veux.

Ton bouton1 au SUD : OK

Ton JscrollPane doit être à droite, il faut que tu l'insères donc à l'EST :
this.getContentPane().add(scrollpane1, BorderLayout.EAST)

Pour tes éléments sur la gauche, il te faut utiliser un autre Container : un JPanel par exemple, que l'on note jPanel1. Tu l'insères donc à l'OUEST :
this.getContentPane().add(jPanel1, BorderLayout.WEST)

Dans ce container, tes éléments sont les uns au dessus des autres, tu peux donc utiliser par exemple un layout de type BoxLayout ou aussi de type GridLayout au choix, en spécifiant que tu veux les disposer verticalement pour les avoir les uns sur les autres :
jPanel1.setLayout(new BoxLayout(jPanel1,BoxLayout.Y_AXIS)
ou

jPanel1.setLayout(new GridLayout(4, 1))

Puis tu n'as plus qu'à y insérer tes éléments dans l'ordre :
jPanel1.add(bits_18);
jPanel1.add(bits_512);
jPanel1.add(bits_1024);
jPanel1.add(jProgressBar1);

Voilà en gros ce qu'il faut faire. Mes morceaux de code ne sont peut-être pas corrects à 100%, mais le plus important c'est que tu comprennes le principe sur comment agencer les éléments graphiques.
Il suffit de retenir qu'un composant contient un type de layout paramétrable qui permet d'agencer d'une certaine façon les composants qu'il contient. Ces sous-composants contiennent eux aussi des layouts qui peuvent accueillir d'autres composants et ainsi de suite... Ainsi, on peux obtenir n'importe quel type d'agencement de tes composants.
Des exemples de layout très utilisés :
- BorderLayout : permet d'insérer des éléments au nord, sud, est, ouest, centre
- BoxLayout : permet d'agencer des éléments les uns au-dessus des autres, ou les uns à côté des autres
- GridLayout : permet d'agencer des éléments en grille (nombre de colonnes et de lignes paramétrables)
....
Consulte la Javadoc pour en découvrir d'autres et pour avoir plus d'infos...

Après ça, tu pourras personnaliser l'agencement de tes éléments
comme tu l'entends en fonction de ce que tu veux.

@+

mercredi 13 août 2008 à 01:30:32 | Re : Aide débutant !

zut69

Merci beaucoup!
Très bien expliqué, j'ai pu me débrouiller et j'ai appris quelques trucs.
Juste un détail, le bouton est collé à la textbox, y a-t'il moyen de laisser un léger espace
entre l'élément North et les éléments West-East, ou encore entre l'élément West
et l'élément East?

Merci,
A+

FF

mercredi 13 août 2008 à 14:52:21 | Re : Aide débutant !

Madvin

Je me souviens que je galérais aussi pour avoir des espaces entre certains de mes composants.
Au milieu, il te reste encore la partie CENTER du BorderLayout. Il devrait y avoir un moyen pour y insérer un Composant vide.

Sinon regarde la doc au lien qui suit, il contient pas mal de trucs et astuces, d'exemples, et t'explique même comment agencer des éléments sans utiliser de Layout (Mais ne pas oublier que les layouts sont surtout pratiques car ils gèrent automatiquement l'agencement des composants en cas de redimensionnement de la fenêtre). Ils expliquent même comment utiliser des composants invisibles (c'est peut-être ce que tu cherches...)

http://java.sun.com/docs/books/tutorial/uiswing/layout/index.html

@+



Cette discussion est classé dans : aide, add, bits, jscrollpane, getcontentpane


Répondre à ce message

Sujets en rapport avec ce message

passer des paramètres entre deux Frames [ par Dedeloux ] Salut !!!J'ai un gros problème (petit diront certains !!) je voudrais passer des paramètres entre deux frames mais je n'y arrive pas bien sur. Explica Positionnement : JScrollPane et cie [ par hadriel ] Bonjour,Je soufaite faire un fenetre en deux parties :à gauche, l'affichage d'une JTable, à droite des donnés représentées par une case.Pour le moment JTable et JScrollPane [ par hadriel ] Je soufaite faire un fenetre en deux parties :à gauche, l'affichage d'une JTable, à droite des donnés représentées par une case.Pour le moment je tent Je suis Besion de votre experience (je suis bloqué) [ par amine1234Z ] Salut Safait plusieur jours de recherche sur le net, chez les amis mes rien me satisfaitbref, je veux cree une JScrollPane et un JPanle dedans, c getContentPane [ par Avidev ] Bonjour J'ai créer une class JFrame à l'intérieur de celle çi j'ai appelé la méthode JRadioButton Ensuite j'ai créer une autre classe JPanel, à l'int JTable + initialisation des données problèmes [ par ObiWanKennedy ] SALUTVoila mon problème, j'ai un vector qui continent des occurences d'une classe qui ce est constituée de 2 données membres: la question et la repons JtextFields + gros pb [ par ObiWanKennedy ] Salut voila on a un code qui marche une foi et pas deuxen gros dans un actionPerformed on dans un if  l'initialisation d'une fenetre avec un jtextfiel aide creation d'un forum [ par remus38 ] Salut,pour un projet je dois créer un forum entierement en java et je ne vois pas du tout comment faire.Si quelqu'un a une idée ou en connait un deja Modifier un champs d'un texfield apres recherche dans access [ par fartman2001 ] Bonjour, voila je travaille en AWT, et j'aimerais après une recherche pouvoir modifier les elements de mon textfield pour modifier mas base de donner Scroller un JTable [ par Renus02 ] bonjour a tous,voila mon probleme est le suivant, sur mon application j'ai un JTable le probleme est que je doit le scroller car il depasse, en longue


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 4,742 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.