Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

AJOUTER DES COMPOSANTS EN CLICKANT SUR UNE JFRAME


Information sur la source

Catégorie :Astuces Classé sous : jframe, composants, click, souris Niveau : Débutant Date de création : 03/04/2003 Date de mise à jour : 03/04/2003 11:33:45 Vu : 6 900

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

C'est juste pour montrer comment intercepter les clicks et ajouter des composants graphiques ou l'on veut avec la souris ;)
 

Source

  • import java.awt.event.MouseAdapter;
  • import java.awt.event.MouseEvent;
  • import javax.swing.JFrame;
  • import javax.swing.JLabel;
  • public class NoLayout extends JFrame
  • {
  • public NoLayout()
  • {
  • // on donne une taille a la fenetre
  • setSize(800,800);
  • // un titre
  • setTitle("No Layout");
  • // On met le layout a null
  • getContentPane().setLayout(null);
  • // On affiche la fenetre
  • setVisible(true);
  • // On ajoute un MouseListener a notre fenetre
  • getContentPane().addMouseListener(new MyAdapt());
  • }
  • // point d entée du programme
  • public static void main(String[] args)
  • {
  • // Instanciation de notre fenetre
  • NoLayout fen = new NoLayout();
  • }
  • // Classe derivéé de MouseAdapter pour
  • // intercepter les clicks
  • class MyAdapt extends MouseAdapter
  • {
  • // Interception du click
  • public void mouseClicked(MouseEvent e)
  • {
  • // Si double click et bouton gauche
  • if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1)
  • {
  • // nouveau label
  • JLabel lab = new JLabel("<html><font color=\"red\" size=\"4\">coucou</font></html>");
  • // ajout
  • getContentPane().add(lab);
  • // on le place la ou on a clické
  • lab.setBounds(e.getX(),e.getY(),100,40);
  • // on rafraichit
  • getContentPane().repaint();
  • }
  • }
  • }
  • }
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;


public class NoLayout extends JFrame
{
	public NoLayout()
	{
		// on donne une taille a la fenetre
		setSize(800,800);
		
		// un titre
		setTitle("No Layout");
			
		// On met le layout a null
		getContentPane().setLayout(null);
		
		// On affiche la fenetre
		setVisible(true);
		
		// On ajoute un MouseListener a notre fenetre
		getContentPane().addMouseListener(new MyAdapt());	
	}
	
	// point d entée du programme
	public static void main(String[] args)
	{
		// Instanciation de notre fenetre
		NoLayout fen = new NoLayout();
	}
	
	// Classe derivéé de MouseAdapter pour 
	// intercepter les clicks 
	class MyAdapt extends MouseAdapter
	{
		// Interception du click
		public void mouseClicked(MouseEvent e)
		{
			// Si double click et bouton gauche
			if (e.getClickCount() == 2 && e.getButton() == MouseEvent.BUTTON1)
			{
				// nouveau label
				JLabel lab = new JLabel("<html><font color=\"red\" size=\"4\">coucou</font></html>");
				// ajout
				getContentPane().add(lab);
				// on le place la ou on a clické
				lab.setBounds(e.getX(),e.getY(),100,40);
				// on rafraichit
				getContentPane().repaint();
			}
		}

	}
}

Conclusion

Bon c'est un exemple tout simple mais qui montre certaines possibilités
Duss
 

Commentaires et avis

signaler à un administrateur
Commentaire de Cronstadt29 le 06/06/2004 15:18:19

moi g un probleme, je voudrai deplacer un Label dans une frame. Mon code :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EssaiDeplacer extends JFrame implements KeyListener{
private JLabel labelImage = new JLabel();;
private ImageIcon img = new ImageIcon("images/golem.png");

public EssaiDeplacer() {
this.setSize(800,600);
this.getContentPane().setLayout(null);
labelImage.setBounds(0,0, 100, 100);
labelImage.setIcon(img);
labelImage.addKeyListener(this);
this.getContentPane().add(labelImage);
this.show();
}


public void keyPressed(KeyEvent ke) {
int key = ke.getKeyCode();
switch (key) {
case KeyEvent.VK_DOWN : labelImage.setBounds(50,500,100,100);
this.getContentPane().repaint();
break;
}

}

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

public static void main(String [] args) {
EssaiDeplacer ed = new EssaiDeplacer();
ed.show();

}


}

signaler à un administrateur
Commentaire de Cronstadt29 le 06/06/2004 15:19:04

moi g un probleme, je voudrai deplacer un Label dans une frame. Mon code :

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class EssaiDeplacer extends JFrame implements KeyListener{
private JLabel labelImage = new JLabel();;
private ImageIcon img = new ImageIcon("images/golem.png");

public EssaiDeplacer() {
this.setSize(800,600);
this.getContentPane().setLayout(null);
labelImage.setBounds(0,0, 100, 100);
labelImage.setIcon(img);
labelImage.addKeyListener(this);
this.getContentPane().add(labelImage);
this.show();
}


public void keyPressed(KeyEvent ke) {
int key = ke.getKeyCode();
switch (key) {
case KeyEvent.VK_DOWN : labelImage.setBounds(50,500,100,100);
this.getContentPane().repaint();
break;
}

}

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

public static void main(String [] args) {
EssaiDeplacer ed = new EssaiDeplacer();
ed.show();

}


}

signaler à un administrateur
Commentaire de Duss le 07/06/2004 09:23:19

au lieu de
labelImage.addKeyListener(this);
met juste
addKeyListener(this);
ca marchera,
Duss

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

ecouter une JFrame [ par cinya ] Je voudrai savoir s il est possible d ecouter une JFrame.En effet j ai fai un full screen et je voudrais faire revenir mon application dans une fenet Bug d'affichage quand clic de souris [ par georhan ] Salut à tous :)Je suis en train de programmer une sorte d'interface avec JAVA-Swing, et franchement, j'en chie avec les évènements ! ;) Et oui, c'est Déplacer la souris vers coord + click [ par izt00g00d ] Bonjour,je suis tout ce qu'il y a de plus newbie en java,je cherche à faire une class qui déplacera la souris aux coordonnées x y (exprimés en pixel 0 KeyListener JFrame avec plusieurs composants [ par mouss11 ] Bonjour, J'ai une JFrame avec plusieurs composant dedans, par exemple une JList et des JButtonRadio.J'ai un JButton OK et un CancelJ'aimerai que l'app Coordonnees Souris de la JFrame a l'interieur d'un Component [ par kinnex91 ] Bonjour, Lorsque j'utilise les methodes getX() et getY() sur mon objet MouseEvent, je n'obtient pas les coordonnées d'où j me trouve dans mon JCompone pb avec evenement souris(mousemove) [ par nerser ] je voudrait faire ceci:quand je passe la souris au dessus de button il changr de couleur mais ce dernier ne revien pas a sa couleur initial quand la s FAQ [ par Ombitious_Developper ] Salut:Est ce que la sérialisation d'une classe touche les membres statiques (lorsqu'on n'utilise pas transient)?Est ce que la méthode paint d'un JFram recupere un click souris hors applet [ par vincedav31 ] Salut,J'ai fait une applet pour prendre une capture d'ecran.je voudrais que l'utilisateur clic hors de l'applet pour definir son cadre de capture.Est entree = click de la souris [ par sarici ] Bonjour,Je voudrais savoir comment on peut faire pour que apres avoir saisie un mot dans un JTextField, si je tape entree il lance l'action d'un bouto image jframe [ par pretyzenta ] bonsoir, S'il vous plait je suis entrin de préparer une application pour mon stage,mon problème : je veux superposer des composants sur une image (déf


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.