Image de fond dans une Frame - Java - Programmation
Marsh Posté le 01-04-2004 à 02:04:19
désolé mais je ne connais pas java. par contre, il est déconseillé de donner son mail sur le forum. edit ton post stp
Marsh Posté le 03-04-2004 à 20:09:18
Pour mettre une image de fond, ma combine est la suivante (il y a peut-être beaucoup mieux): je crée un JLabel de la taille de la JFrame, et dans ce JLabel je mets mon image. Bon voilà. Ca donne à peu près ça:
//ATTRIBUTS
private JLabel monLabel;
private ImageIcon monIcone;
//METHODE
monLabel = new JLabel();
monIcone = new ImageIcon("../images/uneImage.jpg" );
monLabel.setIcon(monIcone);
monLabel.setBounds(0, 0, 800, 600);
this.getContentPane().add(monLabel);
Peux-tu me dire si ça marche ?
Marsh Posté le 06-04-2004 à 14:01:11
Si je ne me trompe pas, tu devrais avoir deux fenetres, une avec ton image et ton menu, et une autre avec le reste de tes composants, non ?
Marsh Posté le 01-04-2004 à 01:07:47
Bonjour à tous,
je débute en Java, j'implore donc votre clémence !
J'ai ma frame, avec des composants (bouton, combo, etc...) dessus, mais je n'arrive pas a mettre une image de fond.
Lorsque je rajoute les éléments suivants :
Image image= getToolkit().getImage("mat.jpg" );
public void paint(Graphics g){
g.drawImage(image,0,0,this);
}
l'image s'affiche dans une nouvelle fenetre, mais pas dans ma frame initiale...
Comment faire ?
-----
Je joins le code source :
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.Graphics.*;
public class IhmInit extends JFrame
{
public IhmInit()
{
Menu();
Fenetre();
}
JMenuBar barreMenu;
Image image= getToolkit().getImage("mat.jpg" );
public void Menu()
{
barreMenu = new JMenuBar();
JMenu menu1 = new JMenu("Fichier" );
barreMenu.add(menu1);
}
JFrame fenetrePrinc;
JComboBox lacomboPrinc;
JComboBox laBoxFactice;
JComboBox result;
JButton boutonValid1;
public void Fenetre()
{
fenetrePrinc = new JFrame();
fenetrePrinc.getContentPane().setBackground(Color.WHITE);
String messageAccueil1 ="Bienvenue dans l'application A.D.R.E.S.S. vous permettant de retrouver les correspondances";
JLabel accueil1 = new JLabel (messageAccueil1);
accueil1.setBounds(125,25,550,15);
fenetrePrinc.getContentPane().add(accueil1);
result = new JComboBox();
result.setBounds(375,355,360,40);
fenetrePrinc.getContentPane().add(result);
boutonValid1 = new JButton ("Valider" );
boutonValid1.setToolTipText("Cliquez pour faire correspondre votre choix avec le code \"rivoli\" de cette voie" );
boutonValid1.setBounds(375,400,100,20);
fenetrePrinc.getContentPane().add(boutonValid1);
lacomboPrinc = new JComboBox ();
lacomboPrinc.setBounds(250,130,300,40);
fenetrePrinc.getContentPane().add(lacomboPrinc);
lacomboPrinc.insertItemAt("Champs renseignés", 0);
lacomboPrinc.insertItemAt("exp1", 1);
laBoxFactice = new JComboBox();
laBoxFactice.setBounds(150,355,115,40);
fenetrePrinc.getContentPane().add(laBoxFactice);
String titre = "A.D.R.E.S.S. :: Algorithme De Rapprochement Entre Syntia et Sigareo";
fenetrePrinc.setLocation(100,50);
fenetrePrinc.setSize(800,485);
fenetrePrinc.getContentPane().setLayout(null);
fenetrePrinc.setTitle(titre);
fenetrePrinc.setJMenuBar(barreMenu);
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
fenetrePrinc.setLocation((screenSize.width-fenetrePrinc.getWidth())/2, (screenSize.height-fenetrePrinc.getHeight())/2);
fenetrePrinc.setVisible(true);
Image icone = Toolkit.getDefaultToolkit().getImage("clogo.jpg" );
fenetrePrinc.setIconImage(icone);
fenetrePrinc.getContentPane().repaint();
fenetrePrinc.getContentPane().setVisible(true);
}
public static void main(String[] args)
{
IhmInit IHM_Init1 = new IhmInit();
}
public void paintComponent(Graphics g){
g.drawImage(image,0,0,this);
}
}
Message édité par tieum78 le 01-04-2004 à 15:30:03