Probleme avec une image et un JPanel
Bonjour,
J'ai un probleme pour afficher l'image que j'ai mise dans un JPanel.
J'ai creer des jpanel dans lesquelles j'aimerai mettre un ou plusieurs composants.
J'ai mis dans le jpanel north mon image, mais celle ci ne s'affiche pas correctement quoi que je fasse :/.
Si quelqu'un a une idée ca serait génial :)
Code:
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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
package clientmsn;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextField;
public class Acceuil extends JFrame
{
private JButton bouton;
private JButton bouton2;
private JLabel label;
private JTextField loginField;
private JTextField passwordField;
public Acceuil()
{
super();
build();//On initialise notre fenêtre
}
private void build(){
setTitle("Client msn CoRed"); //On donne un titre à l'application
setSize(850,700); //On donne une taille à notre fenêtre
setLocationRelativeTo(null); //On centre la fenêtre sur l'écran
setResizable(false); //On interdit la redimensionnement de la fenêtre
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //On dit à l'application de se fermer lors du clic sur la croix
this.setContentPane(buildContentPane());
}
//...
private JPanel buildContentPane()
{
//Menu
MenuAction menuAction = new MenuAction();
JMenuBar menuBar = new JMenuBar();
JMenu menu1 = new JMenu("Fichier");
JMenuItem menu11 = new JMenuItem("menu1");
menu11.addActionListener(menuAction.menu1);
menu1.add(menu11);
JMenuItem menu12 = new JMenuItem("menu2");
menu12.addActionListener(menuAction.menu2);
menu1.add(menu12);
menuBar.add(menu1);
JMenu menu2 = new JMenu("?");
JMenuItem aPropos = new JMenuItem("A propos");
aPropos.addActionListener(menuAction.menu3);
menu2.add(aPropos);
menuBar.add(menu2);
JMenuItem menu21 = new JMenuItem("menu4");
menu21.addActionListener(menuAction.menu4);
menu2.add(menu21);
menuBar.add(menu2);
setJMenuBar(menuBar);
//FIN MENU
JPanel panelPrincipal = new JPanel();
JPanel panelNorth= new JPanel();
JPanel panelCenter=new JPanel();
JPanel panelSouth=new JPanel();
JPanel panFondEcran = new TestImagePanel(new ImageIcon("images2.jpg").getImage());
panelPrincipal.setLayout(new BorderLayout());
panelNorth.setLayout(new BorderLayout());
Logo logo=new Logo();
//panelNorth.setLayout(new BorderLayout());
panelNorth.add(panFondEcran,BorderLayout.CENTER);
panelPrincipal.add(panFondEcran, BorderLayout.NORTH);
return panelPrincipal;
}
class BoutonListener implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
label.setText("Résultat : Pas encore calculé");
}
}
public JTextField getField1(){
return loginField;
}
public JTextField getField2(){
return passwordField;
}
} |
Code:
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
| package clientmsn;
import java.awt.*;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
/**
*
* @author d080178
*/
class TestImagePanel extends JPanel {
private static final long serialVersionUID = 1L;
private Image img;
public TestImagePanel(String img) {
this(new ImageIcon(img).getImage());
}
public TestImagePanel(Image img) {
this.img = img;
}
public void paintComponent(Graphics g) {
g.drawImage(img, 0, 0, this);
}
} |
Merci d'avance pour l'aide :)