IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Problème de focus Swing


Sujet :

AWT/Swing Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Par défaut Problème de focus Swing
    J'essaye de créer une bordure sur un objet ayant le focus mais je ne comprend pas pourquoi lorsque celui-ci a la focus, rien ne se passe voici mon code.
    Cela ne marche pas au niveau de la méthode EcouteurFocus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    import java.awt.Color;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.border.Border;
     
    public class ThermometreSouris extends ThermometreDessin{
    	Thermometre thermometre;
    	private double increment;
    	public ThermometreSouris(double valeur, double min, double max){
    		super(valeur,min,max);
    		thermometre=this.getThermometre();
    		increment=(max-min)/100;
    		this.setFocusable(true);	
    		this.ecouteurs();
    	}
    	private void ecouteurs(){
     
    		this.addMouseListener(new EcouteurSouris());		
    		this.addFocusListener(new EcouteurFocus());
     
    	}
    	class EcouteurSouris extends MouseAdapter{
    		public void mouseClicked(MouseEvent e){			
    			requestFocusInWindow();
    		}
    	}
    	class EcouteurFocus implements FocusListener{		
    		public void focusGained(FocusEvent e){				
    			ThermometreSouris c=(ThermometreSouris)e.getSource();			
    			c.setBorder(BorderFactory.createLineBorder(Color.RED,20));
     
    		}
    		public void focusLost(FocusEvent e){
    			ThermometreSouris c=(ThermometreSouris)e.getSource();
    			c.setBorder(null);
    		}
     
    	}
    public static void main(String[] args){
    		JFrame f=new JFrame();
    		f.setBounds(10,10,200,200);		
    		f.add(new ThermometreSouris(25,-50,50));		
    		f.setVisible(true);
    	}
    }

    Merci d'avance

  2. #2
    Membre émérite Avatar de fraco
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2006
    Messages : 750
    Par défaut
    Salut !

    J'essaye de créer une bordure sur un objet ayant le focus
    Après un changement dans un objet, il faut le repeindre (repaint), voir même réorganiser son conteneur (revalidate)...
    C'est peut-être ça ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 3
    Par défaut
    non mais je ne pense pas que cela vienne du contenu de ma méthode.
    Car si je met une simple requête ( System.out.println ) et que mon objet a le focus, même cette simple requête ne s'effectue pas, donc cela veux dire que le focus ne s’exécute jamais :/

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Par défaut
    Ta zone de dessin a peut-être une taille à zéro ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java
    Que la force de la puissance soit avec le courage de ta sagesse.

  5. #5
    Membre Expert Avatar de herve91
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 282
    Par défaut
    ThermometreDessin hérite de quelle classe Swing ? Il faut que cette classe puisse recevoir le focus.

  6. #6
    Membre éclairé Avatar de aljessy
    Homme Profil pro
    Développeur Java
    Inscrit en
    Octobre 2010
    Messages
    319
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2010
    Messages : 319
    Par défaut
    tu peux aussi commencer par lire ce tutoriel de Baptiste wicht sur le focus

Discussions similaires

  1. Problème de focus avec une TTreeView
    Par Rustine dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/10/2005, 18h12
  2. Problème de Focus
    Par Charette dans le forum Composants VCL
    Réponses: 7
    Dernier message: 14/09/2005, 23h18
  3. problème de focus dans un CEdit
    Par Depteam1 dans le forum MFC
    Réponses: 11
    Dernier message: 08/09/2005, 15h05
  4. [JTextField] Problème de focus
    Par clairette dans le forum Composants
    Réponses: 29
    Dernier message: 22/07/2005, 16h52
  5. Problème de focus + touches de direction
    Par schnito dans le forum Agents de placement/Fenêtres
    Réponses: 9
    Dernier message: 11/01/2005, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo