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 JScrollPane / JTabbedPane


Sujet :

AWT/Swing Java

  1. #1
    Membre habitué Avatar de Arislas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 116
    Points : 170
    Points
    170
    Par défaut Problème de JScrollPane / JTabbedPane
    Bonjour,

    Mon problème est assez simple, enfin je pense. J'ai créer un JTabbedPane qui s'adapte à la taille de l'écran afin de ne jamais sortir de bords. Mais du coup le composant à l'intérieur de cette JTabbedPane, eux peuvent sortir de celle-ci. J'ai donc décidé d'ajouter un JScrollPane dans le JTabbedPane. Mais quand je fixe l'écran à une taille trop petit, le JScrollPane ne met pas de ScrollBar.

    Petit screenshot pour mieux expliquer :

    Nom : Capture.PNG
Affichages : 153
Taille : 65,7 Ko

    C'est la case en haut à droite.


    Le code que j'ai mis en application est celui-ci :

    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
    public void gestionPanelOption(){		
    		//On s'occupe des comboBox dynamique
    		gestionComboBoxDynamique();
     
    		//Positionnement des composants du formulaire des options générales
    		gestionTabOptionsGenerales();
    		gestionTabOptionsAvancee();
     
    		scrollOpGenerales = new JScrollPane(panOptionsGeneral);
     
     
    		JPanel pan1 = new JPanel(new BorderLayout());
    		pan1.add(scrollOpGenerales);
     
    		//Gestion du JTabbedPane
    		tabOptions.setBounds(panFenetre.getX() + panFenetre.getWidth() + 10, 10, this.getContentPane().getWidth()/ 2 - 30 , this.getContentPane().getHeight()/2 - 35);
    		tabOptions.add("Options Génerales", pan1);
    		tabOptions.add("Options Avancées", panOptionsAvance);
    	}
     
            	public void gestionTabOptionsGenerales(){		
    		//On empêche la saisie de caractère autre que des chiffres
    		jtf1.setDocument(JustNumber1);
    		jtf2.setDocument(JustNumber2);
    		jtfNbFenetre.setDocument(JustNumber3);
    		jtfIDHt.setDocument(JustNumber4);
    		jtfIDLg.setDocument(JustNumber5);
     
    		//On s'occupe du dynamisme des JTextFields pour le dessin
    		gestionDynamiqueTextField();
     
    		//Gestion des éléments du formulaire des options générales
    		panOptionsGeneral.setLayout(null);
     
     
    		//Gestion ComboBox
    		client.setBounds(20, 120, 120, 50 );
    		panOptionsGeneral.add(client);
    		endroit.setBounds(370,120,180,50);
    		panOptionsGeneral.add(endroit);
     
    		cbClient.setBounds(150, 136, 200, 20);
    		panOptionsGeneral.add(cbClient);
    		panOptionsGeneral.add(new MyErrorLabel("Veuillez ajouter un nouvel élément", cbClient));
    		cbEndroit.setBounds(550, 136, 200, 20);
    		panOptionsGeneral.add(cbEndroit);		
     
    		//Gestion TextField
    		hauteur.setBounds(20, 0, 120, 50 );
    		panOptionsGeneral.add(hauteur);
    		largeur.setBounds(20, 60, 120, 50 );
    		panOptionsGeneral.add(largeur);
    		nbfenetre.setBounds(20, 180, 120, 50);
    		panOptionsGeneral.add(nbfenetre);
    		intDormantHt.setBounds(370, 0, 180, 50);
    		panOptionsGeneral.add(intDormantHt);
    		intDormantLg.setBounds(370, 60, 180, 50);
    		panOptionsGeneral.add(intDormantLg);
     
    		jtf1.setBounds(150, 16, 200, 20);
    		panOptionsGeneral.add(jtf1);
    		panOptionsGeneral.add(new MyErrorLabel("Ce champs est obligatoire et doit être supérieur à 300", jtf1));
    		jtf2.setBounds(150, 76, 200, 20);
    		panOptionsGeneral.add(jtf2);
    		panOptionsGeneral.add(new MyErrorLabel("Ce champs est obligatoire et doit être supérieur à 300", jtf2));
    		jtfNbFenetre.setBounds(150, 196, 200, 20);
    		panOptionsGeneral.add(jtfNbFenetre);
    		panOptionsGeneral.add(new MyErrorLabel("Ce champs est obligatoire", jtfNbFenetre));
    		jtfIDHt.setBounds(550, 16, 200, 20);
    		panOptionsGeneral.add(jtfIDHt);
    		jtfIDLg.setBounds(550, 76, 200, 20);
    		panOptionsGeneral.add(jtfIDLg);
    	}
    Je tiens juste à rajouter que j'ai déjà eu des problème avec ce composant. Où pour le même code , il ne faisait pas la même chose.

    Merci à ceux qui essayerons de répondre .

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,



    Le problème ne vient pas du JScrollPane mais de ton code : tu n'utilises pas de Layout et tu ne définis pas les tailles de tous les composants !!!

    Évites d'utiliser le layout null et utilises les Layout


    a++

  3. #3
    Membre habitué Avatar de Arislas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 116
    Points : 170
    Points
    170
    Par défaut
    Il vaut mieux que j'évite d'utiliser un layout null pour quelle composant ? Car j'ai déjà essayer avec des border layout sur certains composant mais ça ne marchait toujours pas .

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Arislas Voir le message
    Il vaut mieux que j'évite d'utiliser un layout null pour quelle composant ?
    Il faut éviter le layout null tout court, quel que soit le composant.
    A moins de vouloir un truc figé qui ne réagissent pas aux redimensionnement et autres...

    Citation Envoyé par Arislas Voir le message
    Car j'ai déjà essayer avec des border layout sur certains composant mais ça ne marchait toujours pas .
    C'est à dire ? Le BorderLayout fonctionne sans soucis...


    a++

  5. #5
    Membre habitué Avatar de Arislas
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2015
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2015
    Messages : 116
    Points : 170
    Points
    170
    Par défaut
    Enfin, le BorderLayout fonctionnait mais ne me permettait pas d'avoir un JScrollPane qui fonctionnait.

Discussions similaires

  1. Problème de JScrollPane
    Par flames dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 12/05/2007, 21h21
  2. Problème avec jscrollpane
    Par mmb04 dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 11/05/2007, 13h51
  3. Problème de JScrollPane
    Par Bibou06 dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 08/09/2006, 18h30
  4. problème de JScrollPane hellp svp :?
    Par sironimo dans le forum Composants
    Réponses: 6
    Dernier message: 22/12/2005, 13h03
  5. Problème avec JScrollPane et label
    Par gl0be dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 26/11/2004, 17h08

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