Swing, afficher une image en fond de jpanel (code inside)

Swing, afficher une image en fond de jpanel (code inside) - Java - Programmation

Marsh Posté le 18-05-2004 à 16:21:37    

:hello: ,
j ai pourtant suivit les conseils des post provenant du forum de sun mais sa marche toujours pas .. l image ne saffiche pas. parcontre un jlabel ou une imgaIcon dans un JLabel oui.

Code :
  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class test{
  4.     private static void  createAndShowGUI() {
  5.         JFrame frame = new JFrame("HelloWorldSwing" );
  6.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  7.        
  8.         //JLabel label = new JLabel("Hello World" );
  9.         //frame.getContentPane().add(label);
  10.        
  11.        
  12.         Image img = Toolkit.getDefaultToolkit().getImage("fond.jpg" );
  13.         DrawingPanel drawingPanel =  new DrawingPanel(img);
  14.         frame.getContentPane().add(drawingPanel);
  15.         frame.pack();
  16.         frame.setVisible(true);
  17.     }
  18.     public static void main(String[] args) {
  19.         //Schedule a job for the event-dispatching thread:
  20.         //creating and showing this application's GUI.
  21.         javax.swing.SwingUtilities.invokeLater(new Runnable() {
  22.             public void run() {
  23.                 createAndShowGUI();
  24.             }
  25.         });
  26.     }
  27.    
  28. }
  29. class DrawingPanel extends JPanel {
  30.     private Image img = null;
  31.    
  32.     DrawingPanel(Image image)
  33.     { img = image; }
  34.  
  35.     public void paintComponent(Graphics g) {
  36.         // First paint background unless you will
  37.         // paint whole area yourself.
  38.         super.paintComponent(g);
  39.        
  40.         // Use the image width & height to find the starting point
  41.         int msgX = getSize().width/2 - img.getWidth(this);
  42.         int msgY = getSize().height/2 - img.getHeight(this);
  43.        
  44.         //Draw image at centered in the middle of the panel
  45.         g.drawImage(img, msgX, msgY, this);
  46.     }
  47. }


    [:dams86]

Reply

Marsh Posté le 18-05-2004 à 16:21:37   

Reply

Marsh Posté le 18-05-2004 à 16:54:43    

:/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed