Java et les containers !!!
Résolu
jo-concept
-
Pacorabanix Messages postés 3248 Date d'inscription Statut Membre Dernière intervention -
Pacorabanix Messages postés 3248 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
a l'aide s'il vous plait je souhait faire afficher une fenetre qui aura comme fond une dégrader des couleur jaune et orange
puis dans cette meme fentre y placer un bouton.
le code ci-dessous m'affiche bien le fentre avec un fond en degrader effectivement mais le bouton n'apparait pas comment puis-je resoudre le probleme ?? merci
je crée une classe que j'appelle panneau et dans cette classe je mets le code suivant:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package nanjip;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.GradientPaint;
//import javax.swing.JButton;
import javax.swing.JPanel;
/**
*
* @author nanjip
*/
public class panneau extends JPanel {
public void paintComponent(Graphics g){
// System.out.println("je suis executer !!!");
// g.fillOval(this.getWidth()/4,this.getHeight()/4,this.getWidth()/2,this.getHeight()/2);
Graphics2D g2d = (Graphics2D) g;
GradientPaint gp=new GradientPaint(0,0,Color.ORANGE,30,30,Color.RED,true);
g2d.setPaint(gp);
g2d.fillRect(0,0,this.getWidth(),this.getWidth());
g.setColor(Color.GREEN);
Font font = new Font("courier",Font.CENTER_BASELINE,15);
g.setFont(font);
g.drawString("Bravo!! ", this.getWidth()/4, this.getWidth()/2);
}
}
voici le contenu de la classe fenetre
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package nanjip;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
/**
*
* @author nanjip
*/
public class fenetre extends JFrame {
private JButton bouton = new JButton("press here !");
private JPanel pan =new JPanel();
public fenetre(){
this.setTitle("ma premiere fenetre");
this.setSize(400,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation (500,200);
this.setVisible(true);
pan.add(bouton);
this.setContentPane(new panneau());
}
}
et voici le contenu du menu principal
package nanjip;:
public class Main{
public static void main(string[] args){
fenetre fen = new fenetre();
}
}
a l'aide s'il vous plait je souhait faire afficher une fenetre qui aura comme fond une dégrader des couleur jaune et orange
puis dans cette meme fentre y placer un bouton.
le code ci-dessous m'affiche bien le fentre avec un fond en degrader effectivement mais le bouton n'apparait pas comment puis-je resoudre le probleme ?? merci
je crée une classe que j'appelle panneau et dans cette classe je mets le code suivant:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package nanjip;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JPanel;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.GradientPaint;
//import javax.swing.JButton;
import javax.swing.JPanel;
/**
*
* @author nanjip
*/
public class panneau extends JPanel {
public void paintComponent(Graphics g){
// System.out.println("je suis executer !!!");
// g.fillOval(this.getWidth()/4,this.getHeight()/4,this.getWidth()/2,this.getHeight()/2);
Graphics2D g2d = (Graphics2D) g;
GradientPaint gp=new GradientPaint(0,0,Color.ORANGE,30,30,Color.RED,true);
g2d.setPaint(gp);
g2d.fillRect(0,0,this.getWidth(),this.getWidth());
g.setColor(Color.GREEN);
Font font = new Font("courier",Font.CENTER_BASELINE,15);
g.setFont(font);
g.drawString("Bravo!! ", this.getWidth()/4, this.getWidth()/2);
}
}
voici le contenu de la classe fenetre
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package nanjip;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JPanel;
/**
*
* @author nanjip
*/
public class fenetre extends JFrame {
private JButton bouton = new JButton("press here !");
private JPanel pan =new JPanel();
public fenetre(){
this.setTitle("ma premiere fenetre");
this.setSize(400,400);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setLocation (500,200);
this.setVisible(true);
pan.add(bouton);
this.setContentPane(new panneau());
}
}
et voici le contenu du menu principal
package nanjip;:
public class Main{
public static void main(string[] args){
fenetre fen = new fenetre();
}
}
A voir également:
- Java et les containers !!!
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
1 réponse
salut,
utilises la balise "code" pour mettre ton code en message sur le forum, ça gardera les espacements et rendra ton code plus lisible.
Perso, je ne vois pas où dans ton code le bouton doit être affiché.
Dans le constructeur de fenetre tu crees un "pan" de type JPanel. Tu mets ton bouton dans ce JPanel.
Mais tu n'ajoutes jamais, il me semble, ton panneau dans ta fenetre.
Tu fais
Alors soit tu ajoutes ton "pan" dans ce container crée pour l'occasion, soit tu fais
(et tu déclares ton pan comme panneau et non comme JPanel)
utilises la balise "code" pour mettre ton code en message sur le forum, ça gardera les espacements et rendra ton code plus lisible.
Perso, je ne vois pas où dans ton code le bouton doit être affiché.
Dans le constructeur de fenetre tu crees un "pan" de type JPanel. Tu mets ton bouton dans ce JPanel.
Mais tu n'ajoutes jamais, il me semble, ton panneau dans ta fenetre.
Tu fais
this.setContentPane(new panneau());
Alors soit tu ajoutes ton "pan" dans ce container crée pour l'occasion, soit tu fais
this.setContentPane(pan)
(et tu déclares ton pan comme panneau et non comme JPanel)
jo-concept
merci bien mon pb a été resolu avec ta proposition et je comprends mon erreur
Pacorabanix
Messages postés
3248
Date d'inscription
Statut
Membre
Dernière intervention
663
ok, de rien !