Java sourie button

Fermé
hanakarim Messages postés 15 Date d'inscription samedi 8 mars 2008 Statut Membre Dernière intervention 5 septembre 2008 - 15 mai 2008 à 21:50
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 - 15 mai 2008 à 23:09
Bonjour,
je suis debuttante en java
j ai creer une frame qui contien un button
je veut lors de l execution quon je mais la sourie sur le button (sans clic) il affiche une message qui indique le fonctionnement du button
question : comment je peut faire ca ? Merci
A voir également:

2 réponses

Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328
15 mai 2008 à 22:53
Bonjour !

Voici 2 petites classes faites "à la va-vite" pour te montrer:
- la première crée un panel et affiche un bouton dedans. Il faut lui affecter un mouse listener personnalisé pour détecter les actions de la souris sur ce bouton
- la seconde est l'implémentation du mouse listener (elle étend MouseAdapter pour ne pas implémenter toutes les méthodes de MouseListener, les adaptateurs c'est fait pour ça ;). Lorsque tu instancies ta classe, tu crées un panel, que tu affiches lorsque tu survoles le bouton, et que tu caches lorsque tu ne le survoles plus.

Il ne te reste plus qu'à "habiller" tes frames pour les adapter à ce que tu veux.
N'hésites pas si tu as des questions !

MaFrame.java :
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.HeadlessException;

import javax.swing.JButton;
import javax.swing.JFrame;

public class MaFrame extends JFrame {

	private static final long serialVersionUID = 7779846000802492534L;
	
	public MaFrame() throws HeadlessException {
		super();
		setTitle("Fenêtre");
		setSize(320, 320);
		setLocationRelativeTo(null);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
		this.getContentPane().setBackground(Color.WHITE);
		this.setLayout(new FlowLayout());
		
		JButton bouton = new JButton("Survole-moi");
		//Pour chaque bouton, tu passes le message à afficher en paramètre
		bouton.addMouseListener(new CustomMouseListener("Voici le message d'informations"));

		this.add(bouton);
	}

	public static void main(String[] args) {
		MaFrame frame = new MaFrame();
		frame.setVisible(true);
	}

}

CustomMouseListener.java :
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.JFrame;
import javax.swing.JLabel;

public class CustomMouseListener extends MouseAdapter {
	
	private JFrame jframe = new JFrame();
	private JLabel infos = null;
	
	public CustomMouseListener(String message) {
		jframe.setSize(300,150);
		jframe.setLocationRelativeTo(null);
		infos = new JLabel(message);
		jframe.add(infos);
	}

	@Override
	public void mouseEntered(MouseEvent e) {
		jframe.setVisible(true);
	}

	@Override
	public void mouseExited(MouseEvent e) {
		jframe.setVisible(false);
	}
}

0
Utilisateur anonyme
15 mai 2008 à 23:01
Bonjour,

Exemple :

Ton_bouton = new JButton("nom_du_bouton");
Ton_bouton .setToolTipText("Courte description"); // ""Courte description" s'affichera quand tu placera le
// curseur au dessus du bouton


Cordialement,

Dan.
0
Marco la baraque Messages postés 996 Date d'inscription vendredi 9 mai 2008 Statut Contributeur Dernière intervention 5 novembre 2009 328
15 mai 2008 à 23:09
Effectivement, c'est beaucoup moins pourri que mon truc :)
0