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

Agents de placement/Fenêtres Java Discussion :

Adapter mon JSplitPane à ma JFrame


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut Adapter mon JSplitPane à ma JFrame
    Salut à tous,

    Pour faire ce dont le titre parle je m'y prend comme ceci :
    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
    //Screen size
    int width = (int) Toolkit.getDefaultToolkit().getScreenSize().width;
    int height = (int) Toolkit.getDefaultToolkit().getScreenSize().height;
    Dimension minSize = new Dimension(0,175);
    Dimension maxSize = new Dimension(width, height - (height/4));
    //Separator between panTabs and tabLog
    split = new JSplitPane(JSplitPane.VERTICAL_SPLIT, panTab, panLog);
    /*
     * la ligne soulignée fonctionne quand je suis en mode normale mais
     * il serait bien s'il pouvez aussi changer quand ma Frame change 
     * de dimension, comme un plein écran ou simplement un agrandissement manuel avec la souris
     */
    //split.setDividerLocation(175);
    //du-coup j'essaye ceci :
    split.setMinimumSize(minSize);
    split.setMaximumSize(maxSize);
    split.setOneTouchExpandable(true);
    Mais ça ne change rien

    Merci d'avance pour vos propositions

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Quand je fais ce test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Screen size
    int width = (int) Toolkit.getDefaultToolkit().getScreenSize().width;
    int height = (int) Toolkit.getDefaultToolkit().getScreenSize().height;
    int tierHeight = (height- (height/3));
    Dimension maxSize = new Dimension(width, height);//height - tierHeight);
    //Separator between panTabs and tabLog
    this.setSize(width,height);
    if (this.getSize().equals(maxSize)) {
    	System.out.println("Full screen");
    	JOptionPane.showMessageDialog(null, "Full screen");
    }
    Ça s'affiche alors que je ne suis pas en plein écran mais en taille normal, dès l’exécution de l'application.

    Ce serait mieux que ceci s'exécute uniquement une fois en plein écran comme vous l'avez compris.

    Du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if (this.getSize().equals(maxSize)) {
    	//si en plein écran
    	split.setDividerLocation(maxSize);
    } else {
    	//si en écran normal
    	split.setDividerLocation(minSize);
    }
    Merci

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    J'ai décider t'utiliser l'événement de la fenêtre car je vois pas d'autre moyen.
    Et quand je fais appel à cette méthode :
    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
     
    private static void resizeSplit()
    {
    	IhmConverter app = IhmConverter.getInstance();
     
    	int width = (int) Toolkit.getDefaultToolkit().getScreenSize().width;
    	int height = (int) Toolkit.getDefaultToolkit().getScreenSize().height;
    	int tierHeight = (height- (height/3));
    	Dimension maxSize = new Dimension(width, height);//height - tierHeight);
    	screenSize = app.getSize();
    	if (screenSize.equals(maxSize))
    	{
    		app.getSplit().setDividerLocation(tierHeight);
    	}
    }
    Malgré que le if soit correcte il ne rentre pas, et combien-même si je le met en commentaire il ne redimensionne pas...

    Some helps please

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2016
    Messages
    213
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 213
    Points : 96
    Points
    96
    Par défaut
    Autant pour moi :
    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
     
    public void windowDeactivated(WindowEvent e) {
     	Windows.resizeSplitMax();
     }
     
    public void windowActivated(WindowEvent e) {
    	Windows.resizeSplitMin();
    }
     
    private static void resizeSplitMax()
    {
    	IhmConverter app = IhmConverter.getInstance();
     
    	int height = (int) Toolkit.getDefaultToolkit().getScreenSize().height;
    	int tierHeight = (height- (height/3));
     
    	app.getSplit().setDividerLocation(tierHeight);
    	System.out.println("Max : "+ app.getSplit().getSize());
    	app.getSplit().repaint();
    }
     
    private static void resizeSplitMin()
    {
    	IhmConverter app = IhmConverter.getInstance();
     
    	app.getSplit().setDividerLocation(175);
    	System.out.println("Min : "+ app.getSplit().getSize());
    	app.getSplit().repaint();
    }
    La console :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // au lancement de l'application
    Min : java.awt.Dimension[width=684,height=330]
    //Quand j’appuie sur le bouton système agrandir
    Max : java.awt.Dimension[width=1920,height=1106]
    //Quand j’appuie sur le bouton système restaurer
    Min : java.awt.Dimension[width=1920,height=1106]
    //quand je ferme l'application
    Max : java.awt.Dimension[width=684,height=330]
    Cette réaction est très bizarre

Discussions similaires

  1. JPanel invisible dans mon jSplitPane
    Par polymorphisme dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 14/12/2009, 15h37
  2. Mon JDesktopPane ne remplit pas toute ma JFrame
    Par Tijee dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 16/01/2008, 03h18
  3. redimensionnement de mon jframe
    Par remy85 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 13/06/2007, 22h01
  4. Probleme de resizing pour mon JFrame
    Par CaptnB dans le forum NetBeans
    Réponses: 2
    Dernier message: 21/11/2006, 17h36
  5. [JSplitPane] Recuperer taille courante de JFrame
    Par JamesP dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 28/02/2006, 13h23

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