Probleme couleur

Fermé
djoufou Messages postés 4 Date d'inscription samedi 13 avril 2013 Statut Membre Dernière intervention 25 février 2014 - 14 avril 2013 à 03:44
KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 - 14 avril 2013 à 09:16
bonjour,

voila j ai un probleme , j ai demandée a java la fenetre en jaune mais rien ne se passe... pourtant mon script est correct est-ce possible que j ai télécharger un pack sans les couleurs ? (java.awt.Color)

voici mon script

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package jun;

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;

/**
*
* @author Weymeels
*/
public class Jun {
public class Fenetre extends JFrame {
public Fenetre(){
this.setTitle("Ma première fenêtre Java");
this.setSize(400, 100);
this.setLocationRelativeTo(null);

//Instanciation d'un objet JPanel
JPanel pan = new JPanel();
//Définition de sa couleur de fond
pan.setBackground(Color.YELLOW);
//On prévient notre JFrame que notre JPanel sera son content pane
this.setContentPane(pan);
this.setVisible(true);
}
}
public static void main(String[] args) {
// TODO code application logic here

JFrame fenetre = new JFrame();

//Définit un titre pour notre fenêtre
fenetre.setTitle("Ma première fenêtre Java");
//Définit sa taille : 400 pixels de large et 100 pixels de haut
fenetre.setSize(400, 400);
//Nous demandons maintenant à notre objet de se positionner au centre
fenetre.setLocationRelativeTo(null);
//Termine le processus lorsqu'on clique sur la croix rouge
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//Et enfin, la rendre visible
fenetre.setVisible(true);
}
}

merci de votre attention
A voir également:

1 réponse

KX Messages postés 16753 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 25 novembre 2024 3 019
14 avril 2013 à 09:16
"pourtant mon script est correct"

Non, justement, il n'est pas correct, sinon ça fonctionnerait ! Le problème c'est que tu n'affiches pas la bonne fenêtre. Tu fais setBackground(Color.YELLOW); dans la classe jun.Jun.Fenetre, mais dans ton main tu affiches une new JFrame() qui n'a rien à voir (et en particulier qui n'est pas jaune...)

PS. En Java on ne parle pas de "script" car c'est un langage compilé.

Modifies ton main comme ceci pour afficher un objet de la classe jun.Jun.Fenetre :

public static void main(String[] args) 
{
    new jun.Jun().new Fenetre();
}

Remarque : je ne vois pas l'intérêt d'avoir imbriqué deux classes ici (en déclarant la classe Fenetre à l'intérieur de la classe Jun) une seule suffit.
De plus on peut se passer de créer un nouveau JPanel pour faire un setContentPane après puisqu'il en existe déjà un que l'on peut récupérer avec getContentPane...

package jun;

public class Fenetre extends javax.swing.JFrame 
{
	private static final long serialVersionUID = 1;
	
	public Fenetre()
	{
		super("Ma première fenêtre Java");
		setSize(400, 100);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
		
		getContentPane().setBackground(java.awt.Color.YELLOW);
		
		setVisible(true);
	}
	
	public static void main(String[] args) 
	{ 
		new jun.Fenetre();
	}
}
0