Bonjour,
Comment fait on pour mettre en "fond d'écran" sur un panel une image et pouvoir par dessu mettre un JLabel???
merci d'avance
Version imprimable
Bonjour,
Comment fait on pour mettre en "fond d'écran" sur un panel une image et pouvoir par dessu mettre un JLabel???
merci d'avance
J'espere que cela pourra t'aider...
Un tit lien sympas
Un autre ti lien sympas
Il faut lire les FAQ
ok,
maintenant je fais ces lignes de codes:
et on me répond :Code:
1
2
3 image = Toolkit.getDefaultToolkit().getImage("C:/Documents and Settings/binot/Mes documents/Mes images/moi.jpg"); Graphics2D gr = (Graphics2D)image.getGraphics(); gr.drawString(lab.getText(), 0, 0);
Citation:
Exception in thread "main" java.lang.UnsupportedOperationException: getGraphics() not valid for images created with createImage(producer)
at sun.awt.image.ToolkitImage.getGraphics(ToolkitImage.java:292)
at MonAppli.fenetrePrincipal(MonAppli.java:72)
at MonAppli.<init>(MonAppli.java:35)
at MonAppli.main(MonAppli.java:133)
comment dois je résoudre cela ??
Clique sur ton erreur pour voir ou elle est et ensuite effectue un debogage... avec des points d'arret... pour voir ou tu as ton erreur.... Mais si tu veux que j'ais une chance de t'aider, il faut que tu me poste les lignes de code auxquels tes erreures te renvoient...
ben l'erreur est à la ligne Graphics2D gr = (Graphics2D)image.getGraphics(); mais je nepas faire une debbugage utile car l'erreur vient de la class ToolKit, et je n'est pas le source de cette class, juste un .jar
Clique sur la ligne ou tu as l'erreur :
Citation:
at MonAppli.fenetrePrincipal(MonAppli.java:72)
cela m'ammene à cette ligne;
Code:Graphics2D gr = (Graphics2D)image.getGraphics();
Alors la je ne sais pas quoi te dire... Je suis désolé
Charge plutôt ton image avec ImageIO.read (si tu utilises java 5) qui te renvoie directement une BufferedImage.
Sinon, tu dois passer par un truc comme ça :[EDIT]Tiens je ne savais pas que la classe Image avait une méthode getGraphics 8O. En tout cas, pour écrire dans une image, il vaut mieux utiliser une BufferedImage.Code:
1
2
3
4
5
6 Image temp = Toolkit.getDefaultToolkit().getimage(...); BufferedImage image = new BufferedImage(// par exemple temp.getWidth(), temp.getHeight(), BufferedImage.TYPE_INT_ARGB); Graphics2D g = image.createGraphics(); g.drawImage(temp, 0, 0, null);
Oui effectivement ca a l'air pas mal...
effectivement il n'y a plus l'exception mais par contre je n'arrive pas a afficher du texte par dessu cette image (ce qui est qd meme mon but ultime héhé)
N'a tu point trouvé ton bonheur dans mes FAQ...????... regarde bien car je croi que la reponse est dedan... la force soit avec toi
Code:
1
2
3
4
5
6
7
8
9 public void paintComponent(Graphics g) { super.paintComponent(g); g.drawImage(image,0,0, null); Graphics2D gr = (Graphics2D)g; gr.drawString("balbadfgdsgdsfgsdfgsdfgsdl", 0, 20); //g = gr; } };
voila ca ca marche coool merci
Super... alors pense a mettre le tag :resolu: :coucou: