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 :

Renforcer les bords d'un JDesktopPane


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Avatar de rozwel
    Inscrit en
    Mars 2002
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 324
    Points : 334
    Points
    334
    Par défaut Renforcer les bords d'un JDesktopPane
    Quand j'ajoute une JInternalFrame à un JDesktopPane, rien n'empêche qu'une partie de cette fenêtre dépasse de l'espace visible du JDesktopPane, ce qui a le don de cacher les boutons de manipulation en haut à droite. Est-ce qu'il y a un moyen de faire en sorte que les bords du JDesktopPane soient "hermétiques", que tout ce qu'il contient soit entièrement visible?
    Sébastien ARBOGAST
    SCJP

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    A priori aller voir du coté du DesktopManager et de redéfinir certaines méthodes (dragFrame en particulier)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    salut,
    essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public Fenetre(){
            super("ma fenetre");
            desktopPane = new JDesktopPane();
            desktopPane.setBackground(Color.gray);
            contentPane = this.getContentPane();
            contentPane.add(desktopPane);
            fenetreInterne = new JInternalFrame("Sans-titre1",true,true,true,true);    
            fenetreInterne.setSize(getSize());
            fenetreInterne.setVisible(true);        
            desktopPane.add(fenetreInterne);
            setVisible(true);        
        }

  4. #4
    Membre averti
    Avatar de rozwel
    Inscrit en
    Mars 2002
    Messages
    324
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 324
    Points : 334
    Points
    334
    Par défaut
    Finalement, j'ai réussi en implémentant mon propre DesktopManager comme ça:
    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
     
    public class MyDesktopManager extends DefaultDesktopManager {
        private JDesktopPane desktop;
     
        public MyDesktopManager(JDesktopPane desktop) {
            this.desktop = desktop;
        }
     
        public void dragFrame(JComponent f, int newX, int newY) {
            int x = newX;
            int y = newY;
            if (f instanceof JInternalFrame) {
                JInternalFrame frame = (JInternalFrame) f;
                if (x + frame.getSize().width > desktop.getSize().width) {
                    x = desktop.getSize().width - frame.getSize().width;
                }
                if (y + frame.getSize().height > desktop.getSize().height) {
                    y = desktop.getSize().height - frame.getSize().height;
                }
                if (x < 0) x = 0;
                if (y < 0) y = 0;
            }
            super.dragFrame(f, x, y);
        }
    }
    Sébastien ARBOGAST
    SCJP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. les bords d'une cellule
    Par nawax88 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 23/04/2007, 16h31
  2. Colorier les bords d'une box
    Par cygvslince dans le forum Mise en forme
    Réponses: 2
    Dernier message: 07/03/2007, 21h26
  3. [Débutant] Bouton avec les bords arrondis
    Par zwieback dans le forum Graphisme
    Réponses: 3
    Dernier message: 12/06/2006, 13h18
  4. [debutant] Retirer les bords de Jcomponent
    Par cosmos.1097 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 29/06/2005, 17h27

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