IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Java Discussion :

Image de fond et JButton ou autre


Sujet :

Java

  1. #1
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Par défaut Image de fond et JButton ou autre
    Salut le monde.
    Je ne comprends pas pourquoi les deux JButton ne s'affiche pas normalement sur notre image.
    Pouvez vous me dire ce qu'il ne va pas s'il vous plait, d'avance merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    import java.awt.*;
    import javax.swing.*;
     
    public class Fenetre extends JFrame {
     
    	private Image img;
    	private JButton BTN1, BTN2;
    	private JTextField JTF1;
    	private JPanel pano;
     
    	public Fenetre(){
    		super("TutoGraphics");
    		setSize(500, 500);
    		setLocation(150, 150);
    		setVisible(true);
    		setAlwaysOnTop(true);
    		setResizable(false);
    		setLayout(null);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
    ////////JButton 1	
    		BTN1 = new JButton("JButton 1");
    		BTN1.setBounds(10, 10, 90, 25);
    		add(BTN1);
    ////////JButton 2			
    		BTN2 = new JButton("JButton 2");
    		BTN2.setBounds(385, 10, 90, 25);
    		add(BTN2);
    ////////Image	
    		img = Toolkit.getDefaultToolkit().createImage("CHEMIN DE VOTRE IMAGE DE FOND");
    	}
     
    	public void paint(Graphics g){		
    		g.drawImage(img, 0, 0, 500, 500, null);
         }
     
     
    	public static void main(String[] args) {
    		new Fenetre();
     
    	}
    }

  2. #2
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Dans ton test, c'est l'image de fond qui ne s'affiche pas.
    La JFrame contient un Container qui prend toute la place dans la fenêtre.
    Il faut utiliser un JPanel : il va contenir l'image de fond et afficher les boutons :

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
     
    import javax.imageio.ImageIO;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
     
    public class FondImagePanel extends JPanel
    {
    	private Image img;
    	private JButton BTN1, BTN2;
     
    	public FondImagePanel() throws Exception
    	{
    		JFrame frame = new JFrame( "TutoGraphics" );
    		frame.setSize( 500, 500 );
    		frame.setLocation( 150, 150 );
    		setLayout( null );
    		frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
    		frame.getContentPane().add( this );
     
    		// //////JButton 1
    		BTN1 = new JButton( "JButton 1" );
    		BTN1.setBounds( 10, 10, 90, 25 );
    		add( BTN1 );
    		// //////JButton 2
    		BTN2 = new JButton( "JButton 2" );
    		BTN2.setBounds( 385, 10, 90, 25 );
    		add( BTN2 );
    		// //////Image
    		img = ImageIO.read( new File( "./fond_500_500.jpg" ) );
    		frame.setVisible( true );
    	}
     
    	@Override
    	public void paintComponent( Graphics g )
    	{
    		super.paintComponent( g );
    		g.drawImage( img, 0, 0, 500, 500, null );
    	}
     
    	public static void main( String[] args ) throws Exception
    	{
    		new FondImagePanel();
    	}
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  3. #3
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2012
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 29
    Par défaut
    Je m'excuse du retard, je tenais quand même dire merci à dinobogan pour son aide et l'exemple que tu as donné me conviens très bien.

    Ci-dessous une autres astuce pour mettre une image de fond avec un JLabel, le problème faudra que votre image soit de la même taille que le JLabel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.awt.*;
    import javax.swing.*;
     
    public class Fenetre extends JFrame {
    	private JButton jbtn1, jbtn2;
    	private JLabel JL1, background;
     
    	public Image1(){
    		super("TutoGraphics");
    		setSize(500, 500);
    		setLocation(500, 0);
    		setAlwaysOnTop(true);
    		setResizable(true);
    		setLayout(null);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		///////////////////////////////////////////////
    		// //////JLabel1
    		JL1 = new JLabel("JLabel1");
    		JL1.setBounds(200, 200, 150 , 20);
    		JL1.setForeground(Color.white); // <<< Couleur du texte de votre label
    		JL1.setBackground(Color.orange); // <<< Couleur de fond de votre label
    		JL1.setOpaque(true);
    		// //////JButton 1
    		jbtn1 = new JButton("JButton 1");
    		jbtn1.setBounds(10, 10, 90, 25);
    		// //////JButton 2
    		jbtn2 = new JButton("JButton 2");
    		jbtn2.setBounds(385, 10, 90, 25);
    		// //////JLabel background image
    		background = new JLabel();
    		background.setBounds(0, 0, 500, 500);//Emplacement et sa taille
    		background.setIcon(new ImageIcon("CHEMIN DE VOTRE IMAGE DE FOND"));
            ///////////////////////////////////////////////
    		getContentPane().setBackground(Color.blue);
    		getContentPane().add(JL1);
    		getContentPane().add(jbtn1);
    		getContentPane().add(jbtn2);
    		getContentPane().add(background);
            ///////////////////////////////////////////////
    		setVisible(true);
    	}
    	public static void main(String[] args) {
    		new Fenetre();
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage d'une image de fond fait disparaitre JButton
    Par Benduroy dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 01/12/2011, 13h13
  2. Rotation d'une image sur une autre image de fond
    Par domas_24 dans le forum 2D
    Réponses: 0
    Dernier message: 16/03/2011, 01h39
  3. JButton personnalisé (image de fond et une icone)
    Par rimy2mi dans le forum Composants
    Réponses: 2
    Dernier message: 11/08/2009, 15h36
  4. Réponses: 1
    Dernier message: 31/03/2009, 16h28
  5. Changer une image de fond d'un autre block.
    Par Darkus_91 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/01/2008, 12h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo