> Tous les forums > Forum Autres langages
 Probleme dimension élèments en swing
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
Drogba11
  Posté le 03/01/2009 @ 11:21 
Aller en bas de la page 
Nouvel astucien

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
Publicité
fennec.
 Posté le 08/01/2009 à 13:22 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour,

utilise le constructeur qui prend en paramètre la taille que doit avoir ton composant

et la méthode

public void setPreferredSize(Dimension preferredSize)

pour tes jtextfield

JTextField(String text, int columns)

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JTextField.html

JTextField jtextfield = new JTextField ("longueur de 20",20);


pour les JButton

JButton jbutton = new JButton ();

jbutton.setPreferredSize (new Dimension (10,5));

-------------------------------------

Dimension (int width, int height)



Modifié par fennec. le 08/01/2009 13:22
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
26,71 €Clé USB 3.0 Sandisk Ultra 256 Go à 26,71 € livrée
Valable jusqu'au 20 Octobre

Amazon Allemagne propose la clé USB Sandisk Ultra d'une capacité de 256 Go à 22,19 €. Comptez 4,52 € pour la livraison en France soit un toal de 26,71 € livrée. On la trouve ailleurs à partir de 40 €. Cette clé USB 3.0 est compatible USB 2.0 et offre de bons débits d'environ 100 Mo/s en lecture et en écriture. Le connecteur est rétractable pour éviter qu'il prenne la poussière.

Notez que la version 512 Go est également en promotion à 48,88 € livrée.


> Voir l'offre
19,95 €Carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus 128 Go (jusqu'à 160 Mo/s) à 19,95 €
Valable jusqu'au 19 Octobre

Amazon fait une belle promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus d'une capacité de 128 Go qui passe à 19,95 € alors qu'on trouve la carte ailleurs à partir de 30 €. Cette carte mémoire offre des vitesses jusqu'à 160 Mo/s en lecture et 90 Mo/s en écriture et intègre des mécanismes afin de gérer l'usure des cellules de la carte et augmenter ainsi sa durée de vie. Une valeur sûre pour les plus exigeants.

Elle résiste aux températures extrêmes, à l'eau, aux chocs et aux rayons X.


> Voir l'offre
720,98 €Ecran PC incurvé 49 pouces Samsung C49HG90 (3840x1080, 1 ms, 144 Hz) à 720,98 € livré
Valable jusqu'au 20 Octobre

Amazon Espagne fait une promotion sur l'écran PC incurvé 49 pouces Samsung C49HG90 à 694,20 €. Comptez 26,78 € pour la livraison en France soit un total de 720,98 € livré en France. On le trouve ailleurs à partir de 899 €. Cet écran incurvé offre une définition de 3840x1080 pixels et possède une dalle 144 Hz. Vous pouvez Utiliser la fonction Picture-by-Picture pour afficher simultanément le travail de deux PC. 


> Voir l'offre

Sujets relatifs
Problème d'installation sur Visual Studio
Problème avec WinPython - Spyder
C Problème pointeur et passage en référence.
problème macro excel
Problème avec les espaces C++
Problème pour un batch urgent, veuillez lire svp
problème avec un parametre de requete preparée MVC
Problème de gestion dynamique de JCheckbox
Problème Access avec 2 inner join
problème d'affichage d'une image dans un JPanel en
Plus de sujets relatifs à Probleme dimension élèments en swing
 > Tous les forums > Forum Autres langages