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 :

Affichage premier plan JInternalFrame


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Par défaut Affichage premier plan JInternalFrame
    Voila j'ai un petit problème lorque je lance une JInternalFrame depuis mon menu. Elle se lance parfaitement dans le JDesktopPane. Mais elle ne devient pas sélectionné par défaut et elle reste caché derrière les autres JInternalFrame lancé.

    Existe-t-il une méthode permettant de l'afficher au premier plan et de la sélectionné ?
    Sachant que j'ai déjà regarder un peu du coté des méthodes setSelectionedFrame et du côté des Focus.

    Voila le bout de mon code ou je lance les JInternalFrame.

    desktop étant un JDesktopPane.

    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
     
    public void actionPerformed(ActionEvent e){
    		if (instance == null){
    			instance = GestionBovin.getIntance();
    			desktop.setAutoscrolls(true);
    			instance.getContentPane().add(desktop);
    		}
    		o = e.getSource();
    		if (o == itemClose){
    			System.exit(0);
    		}if (o == itemPrint){
    			c = instance.getFocusOwner();
    		}if (o == itemAchat){	
    			desktop.add(new Achat());
    		}if (o == itemNaissance){			
    			desktop.add(new Naissance());
    		}if (o == itemSortie){
    			desktop.add(new Sortie());
    		}if (o == itemIntervention){
    			//desktop.add(new Intervention());
    		}
    	}
    les classes lancées sont des classes extends JInternalFrame

    Merci de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 54
    Par défaut
    Pour la mettre devant les autres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    JInternalFrame fen = new JInternalFrame (...);
    desktop.add(fen);
    fen.toFront();
    Pour la sélectionner, j'avais déjà cherché, mais point trouvé.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Par défaut
    Je viens peut être de trouver un moyen pour résoudre ce problème

    En réimplémentant la classe DesktopManager.

    Mais pour le moment je vois pas trop les méthodes à modifs.

    Si quelqu'un a déjà fais cela je suis interessé.

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Par défaut
    Voici mon implémentation :
    Je pensais qu'en faisant cela ca fonctionnerait mais non.

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    import javax.swing.DesktopManager;
    import javax.swing.JInternalFrame;
    import javax.swing.JComponent;
     
    public class MonDesktopManager implements DesktopManager{
    	public MonDesktopManager(){
    	}
    	public void openFrame(JInternalFrame f){
    		f.toFront();
    		f.requestFocus();
    	}
     
    	public void closeFrame(JInternalFrame f){
    		f.hide();
    		f.toFront();
    		f.requestFocus();		
    	}
     
    	public void maximizeFrame(JInternalFrame f){
    		try{
    			if(f.isIcon())
    				f.setIcon(false);
    			f.setMaximum(true);
    		}catch(Exception e){
    		}
    	}
    	public void minimizeFrame(JInternalFrame f){
    		try{
    			if(f.isIcon())
    				f.setIcon(false);
    			f.setMaximum(false);
    		}catch(Exception e){
    		}
    	}
    	public void iconifyFrame(JInternalFrame f){
    		try{
    			f.setIcon(true);
    		}catch(Exception e){
    		}
    	}
    	public void deiconifyFrame(JInternalFrame f){
    		try{
    			f.setIcon(false);
    		}catch(Exception e){
    		}
    	}
    	public void activateFrame(JInternalFrame f){
    		f.toFront();
    		f.requestFocus();
    	}
    	public void deactivateFrame(JInternalFrame f){
    		f.toBack();
    	}
    	public void beginDraggingFrame(JComponent f){
    		f.setLocation(f.getLocation());
    	}
    	public void dragFrame(JComponent f, int newX, int newY){
    		f.setLocation(newX,newY);
    	}
    	public void endDraggingFrame(JComponent f)
    	{
    		f.setLocation(f.getLocation());
    	}
    	public void beginResizingFrame(JComponent f, int direction){
    		f.setSize(f.getSize());
    	}
    	public void resizeFrame(JComponent f, int newX, int newY, int newWidth, int newHeight){
    		f.setBounds(newX,newY,newWidth,newHeight);
    	}
    	public void endResizingFrame(JComponent f)
    	{
    		f.setSize(f.getSize());
    	}
    	public void setBoundsForFrame(JComponent f, int newX, int newY, int newWidth, int newHeight){
    		f.setBounds(newX,newY,newWidth,newHeight);
    	}
    }

Discussions similaires

  1. [c++] Souci d'affichage au premier plan
    Par Pov' typ' dans le forum DirectX
    Réponses: 2
    Dernier message: 25/06/2006, 21h02
  2. Réponses: 6
    Dernier message: 14/06/2006, 08h56
  3. [C#][.Net] Affichage d'une appli toujours au premier plan
    Par alncool dans le forum Windows Forms
    Réponses: 9
    Dernier message: 13/07/2005, 12h30
  4. [JPanel] Affichage en premier plan
    Par Snowballz dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 21/07/2004, 16h07
  5. [glut] forcer l'affichage au premier plan
    Par khayyam90 dans le forum OpenGL
    Réponses: 7
    Dernier message: 19/07/2004, 14h37

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