Ajouter des composants en clickant sur une jframe

Contenu du snippet

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

Source / Exemple :


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

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.