Rechercher : dans
Par :

Probleme de dimension éléments en java swing

Drogba11, le 3 jan 2009 à 11:31:24 
 Signaler ce message aux modérateurs

Bonjour

Débutant en java swing, actuellement, je cherche à mettre en place une interface graphique de type messagerie instantanée...

Je suis actuellement entrain de créer ma fenêtre d'accueil...

C'est la que mon problème survient... En effet, je n'arrive pas à redimensionner mes JButton, mes JTextField et mon ImageIcon...

J'ai essayé en faisant un setBounds(...);
Mais la taille ne change pas, peut-être que je l'ai mal placé!

La méthode est-elle bonne?
Sinon connaissez vous d'autres méthodes efficaces pour ce genre de problème?

Voici mon code, classe Fenetre :
Code :

import javax.swing.*;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class Fenetre extends JFrame {

private static final long serialVersionUID = 1L;
private Fond maFenetre;
private Image fondecran;
private ImageIcon imagePerso;
private JMenuBar mainMenu;
private JMenu menuFichier, sousMenu, menuContact, menuAction, envoyer,menuOutils, menuAide;
private JMenuItem deconnexion, enligne, oqp, abs, drdm, autel, pm, ald;
private JMenuItem fermer;
private JMenuItem ajoutCont, suprCont;
private JMenuItem envtext, envson, envvid, pseudo, pp, map, mip, guide,envMail, credits;
private JToolBar menuTool;
private JButton bouton;
private JTextField pseudonyme, frasePerso;

public Fenetre() {
setTitle(" aMsky ");
setIconImage(Toolkit.getDefaultToolkit().getImage("src/communication.jpg"));
setLocationRelativeTo(null);
setExtendedState(this.MAXIMIZED_BOTH);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
initialisation();
}

private void initialisation() {
mainMenu = new JMenuBar();
menuFichier = new JMenu(" Fichier ");
sousMenu = new JMenu("Statut");
mainMenu.add(menuFichier);
deconnexion = new JMenuItem("Se déconnecter");
enligne = new JMenuItem("En ligne");
oqp = new JMenuItem("Occupé(e)");
abs = new JMenuItem("Absent(e)");
drdm = new JMenuItem("De retour dans une minute");
autel = new JMenuItem("Au téléphone");
pm = new JMenuItem("Parti(e) manger");
ald = new JMenuItem("A la douche");

fermer = new JMenuItem("Quitter aMsky");
fermer.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});

menuFichier.add(deconnexion);
menuFichier.add(sousMenu);
sousMenu.add(enligne);
sousMenu.add(oqp);
sousMenu.add(abs);
sousMenu.add(drdm);
sousMenu.add(autel);
sousMenu.add(pm);
sousMenu.add(ald);
menuFichier.add(fermer);

menuContact = new JMenu(" Contacts ");
mainMenu.add(menuContact);
ajoutCont = new JMenuItem("Ajouter un contact");
suprCont = new JMenuItem("Supprimer un contact");
menuContact.add(ajoutCont);
menuContact.add(suprCont);

menuAction = new JMenu(" Actions ");
JMenuItem envoyerFichier = new JMenuItem("Envoyer un message instantanné");
envoyer = new JMenu("Envoyer");
JMenuItem dcw = new JMenuItem("Démarrer une conversion webcam");
mainMenu.add(menuAction);
envtext = new JMenuItem("Envoyer un fichier texte");
envson = new JMenuItem("Envoyer un fichier audio");
envvid = new JMenuItem("Envoyer un fichier video");
menuAction.add(envoyerFichier);
menuAction.add(envoyer);
envoyer.add(envtext);
envoyer.add(envson);
envoyer.add(envvid);
menuAction.add(dcw);

menuOutils = new JMenu(" Outils ");
pseudo = new JMenuItem("Modifier son pseudo");
pp = new JMenuItem("Modifier sa phrase perso");
map = new JMenuItem("Modifier l'arrière plan");
mip = new JMenuItem("Modifier l'image perso");
mainMenu.add(menuOutils);
menuOutils.add(pseudo);
menuOutils.add(pp);
menuOutils.add(map);
menuOutils.add(mip);

menuAide = new JMenu(" ? ");
guide = new JMenuItem("Guide utilisateur");
envMail = new JMenuItem("Contacter l'équipe de développement");
credits = new JMenuItem("A propos de ");
mainMenu.add(menuAide);
menuAide.add(guide);
menuAide.add(envMail);
menuAide.add(credits);

setJMenuBar(mainMenu);
setContentPane(construirePanel());
}

private Fond construirePanel() {
maFenetre = new Fond();
maFenetre.setLayout(new BorderLayout());
fondecran = Toolkit.getDefaultToolkit().getImage("src/aMsky.jpg");

imagePerso = new ImageIcon("src/icone-aMsky.jpg");
ImageIcon imgPerso = new ImageIcon(imagePerso.getImage().getScaledInstance(125, 135, Image.SCALE_DEFAULT));
bouton = new JButton(imgPerso);
pseudonyme = new JTextField("Jason");
frasePerso = new JTextField("Salut les copains!!");
menuTool = new JToolBar();
menuTool.setLayout(new GridLayout(1,15));
menuTool.add(bouton);
menuTool.add(pseudonyme);
menuTool.add(frasePerso);

maFenetre.add(menuTool, BorderLayout.PAGE_START);
maFenetre=this.connexionbdd();
maFenetre.setFond(fondecran);
maFenetre.setVisible(true);
return maFenetre;
}

private Fond connexionbdd(){
String user = "root";
String mdp = "jason";
String pilote = "com.mysql.jdbc.Driver";

try{
Class.forName(pilote);
Connection c = DriverManager.getConnection("jdbc:mysql://localhost:3306/amsky",user,mdp);
Statement s = c.createStatement();
ResultSet r = s.executeQuery("SELECT login from contact where contact.contact='gsanz'");

while(r.next()){
final String log = r.getString("login");
JButton bouton=new JButton(log);
bouton.setBounds(50,50,50,50);
bouton.addActionListener(new ActionListener (){

public void actionPerformed(ActionEvent evt){
Fenetre f = new Fenetre();
f.show();
}
});
//bouton.setBounds(200,200,250,250);
maFenetre.add(bouton);
}
}catch (Exception e){
System.out.println(e);
}
return maFenetre;
}
}

classe Fond :
Code :

import javax.swing.*;
import java.awt.*;


public class Fond extends JPanel{

private static final long serialVersionUID=1;
private Image image;


public void paintComponent(Graphics g) {
g.drawImage(this.image,0,0,this);
}

public void setFond(Image image){
this.image=image;
}
}

classe aMsky :
Code :

public class aMsky {
public static void main(String args[]){
javax.swing.SwingUtilities.invokeLater(new Runnable(){// Pour lancer l'application on utilise la méthode run()
public void run(){
Fenetre f=new Fenetre();
f.setVisible(true);
}
});
}
}


Merci pour votre attention

A bientot

Configuration: Windows Vista
Internet Explorer 7.0

Meilleures réponses pour « Probleme de dimension éléments en java swing » dans :
Manipulations élémentaires des tableaux sous MatLab VoirSommaire I. Stockage des tableaux II. L'indexation linéaire II.1. Accéder à un élément d'un tableau en utilisant l'indexation linéaire II.2. Passer d'une indexation à l'autre II.2.1. La fonction ind2sub II.2.2. La fonction sub2ind III. La...
Inverser les éléments d'un tableau -Récursivité- VoirVoici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Décaler les éléments d'un tableau (Rotation) -Récursivité- VoirVoici une procédure récursive qui permet de décaler tous les éléments d’un tableau d’une position à droite à partir de la position p Procedure Decaler (Var t : Tab; p, n : integer); Begin If p
Java - Les types de données VoirLes primitives Java est un langage orienté objet, c'est-à-dire que les éléments manipulés sont des classes, ou plus exactement des objets, c'est-à-dire des instances de classes. Toutefois ces objets contiennent des données possèdant un type (et...
Collection CommentÇaMarche.net