Comment effectuer un appel de class en java ?

  • Auteur de la discussion mitsumo10
  • Date de début

mitsumo10

Nouveau membre
J'ai une class Panneau2 qui affiche une image sur ma fenêtre et j'aimerais que mon image s'affiche quand je tape une touche, la commende est:

public void keyPressed(KeyEvent e) {

}

Je voudrait mettre ma class panneau2 dedans pour que quand j’appuie sus "e" mon image s'affiche.
Es-ce possible?
Si oui aider moi svp !!!
Merci d'avance.
 

OmaR

Modérateur
Salut,

Est-ce qu'on pourrait avoir le code de ta classe Panneau2 (entre balises [code=java] et [/code]) ?
Parce que tu devrais généralement avoir besoin d'instantier ta classe Panneau 2:
Java:
Panneau2 panneau = new Panneau2();
panneau.taMethodePourAfficherLImage();

Ou sinon, d'ajouter le panneau2 à ta form actuelle:
Java:
Panneau2 panneau = new Panneau2();
tonControl.add(panneau);
 

mitsumo10

Nouveau membre
// J'ai un peu modifier mon programme et je souhaite afficher une image
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Panneau extends JPanel implements KeyListener {
public void paintComponent(Graphics g){


try {
Image img = ImageIO.read(new File("map1.jpg"));
g.drawImage(img, 0, 0, this);


} catch (IOException e) {

e.printStackTrace();
}
}


public void keyPressed(KeyEvent e) {
int code = e.getKeyCode ();
switch (code) {

case KeyEvent.VK_UP : class ab extends JPanel {
public void paintComponent(Graphics g){


try {
Image img = ImageIO.read(new File("Sacha.jpg"));
g.drawImage(img, 0, 0, this);


} catch (IOException e) {

e.printStackTrace();
}
}

}

}
}
public void keyReleased(KeyEvent e) {}
public void keyTyped(KeyEvent e) {}
}


Aucun message d’erreur ne s'affiche sur éclipse (mon logiciel pour programmer)
et pourtant quand j'appuie sur la flèche du haut(VK_UP) mon image Sacha.jpg ne s'affiche pas poutant l'image map1.jpg s'affiche correctement
je ne comprend pas ... :??:
 

OmaR

Modérateur
Heureusement que je t'avais demandé de mettre le code entre balises code...

Ca m'étonnerait que tu puisses déclarer une classe à l'intérieur d'un case... :|

C'est certainement dans ta méthode paintComponent qu'il faut que tu dessines sacha.jpg aussi.

Java:
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JPanel;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Panneau extends JPanel implements KeyListener {
	private String imageToDraw = "map1.jpg";

	public void paintComponent(Graphics g){
		try {
			Image img = ImageIO.read(new File(imageToDraw));
			g.drawImage(img, 0, 0, this);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}	 
	 
	public void keyPressed(KeyEvent e) {
		int code = e.getKeyCode();
		switch (code) {
			case KeyEvent.VK_UP :
				this.imageToDraw = "Sacha.jpg";
				repaint();
				break;			 
		}
	}
	
	public void keyReleased(KeyEvent e) {}
	public void keyTyped(KeyEvent e) {}
}
 

mitsumo10

Nouveau membre
Ton programme est bien mais le seul petit problème c'est que :

"Il est très fortement recommandé de ne pas mélanger les composants swing et awt ! ! Ceci pour cause de conflit ! Si vous faites ceci vous aurez de très grandes difficultés à faire une IHM stable et valide ! En effet, pour faire simple,
swing et awt se basent sur les mêmes fondements mais diffèrent sur l'utilisation de ces fondements..."

Et du coup les entrées clavier ne s'effectue pas !
 

OmaR

Modérateur
Je n'ai fait que modifier ton code moi... si tu mélanges awt et swing au départ, c'est certainement pas de ma faute...
J'ai pas fait de Java depuis bien 5 ans, alors je peux pas te sortir un code entier, mais modifier un code existant, ça devrait aller...
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 070
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut