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 :

JScrollPane imbriqués : qui affiche la scrollbar ?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Par défaut JScrollPane imbriqués : qui affiche la scrollbar ?
    Mon exemple :
    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
    package test;
     
    import java.awt.BorderLayout;
    import javax.swing.*;
    import javax.swing.table.*;
     
    public class NestedScrollpanes extends JFrame {
        private static final long serialVersionUID = 1L;
     
        private TableModel getTableModel() {
            return new DefaultTableModel(new Object[] {
                    "A", "B", "C", "D", "E", 
                    "F", "G", "H", "I", "J", 
                    "K", "L", "M", "N", "O"}, 100);
        }
     
        public NestedScrollpanes() {
            super("Test");
            JPanel rootPanel = new JPanel(new BorderLayout());
            JTabbedPane tabbedPane = new JTabbedPane();
            JScrollPane rootScrollPane = new JScrollPane(tabbedPane); // A
            JTable table = new JTable(getTableModel());
            JScrollPane tableScrollPane = new JScrollPane(table); // B
     
            getContentPane().add(rootPanel, BorderLayout.CENTER);
            rootPanel.add(rootScrollPane);
            tabbedPane.addTab("TAB", tableScrollPane);
            setSize(100, 100);
            setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            setVisible(true);
        }
     
        public static void main(String[] args) {
            new NestedScrollpanes();
        }
    }
    Ma question :
    Dans cet exemple, j'ouvre une JFrame qui contient un JScrollPanel (A) qui contient un JTabbedPane, qui contient un JScrollPane (B) qui contient une JTable.
    En fonction de la taille de ma fenêtre, des scrollbars apparaissent, mais je n'arrivent pas à controler où.
    Mon objectif c'est de n'avoir des scrollbars que sur la JTable (B). Le premier JScrollPane (A) ne doit servir qu'en dernier recours (par exemple si je rajoute 7000 tabs à mon JTabbedPane).

    Je sèche. Avez-vous une idée ?

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

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    En fait tu n'as pas besoin du jscrollpane autour du JTabbedPane si tu joues sur le tabLayoutPolicy: http://java.sun.com/javase/6/docs/api/javax/swing/JTabbedPane.html#setTabLayoutPolicy(int)

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 9
    Par défaut
    Merci Sinok !
    J'ai trouvé une solution plus dans l'esprit de mon framework : sur le forum de sun.

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

Discussions similaires

  1. JScrollPane et label qui affiche la partie contenue
    Par alex2746 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 02/03/2011, 09h49
  2. creer scrollbar qui affiche le texte d'une entry
    Par hulkyoann dans le forum Tkinter
    Réponses: 11
    Dernier message: 19/12/2009, 19h07
  3. Réponses: 4
    Dernier message: 17/10/2005, 15h05
  4. Réponses: 4
    Dernier message: 03/11/2004, 12h09
  5. [JScrollPane]Comment savoir quand une scrollbar apparait ?
    Par FrigoAcide dans le forum Composants
    Réponses: 4
    Dernier message: 29/04/2004, 10h10

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