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 :

Jscrollpane, JFrame et taille


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut Jscrollpane, JFrame et taille
    Bonjour,
    J'ai un problème avec un élement que j'affiche dans un jscrollpane.
    Je place un tableau ds un jscrollpane qui es ds une Jframe en position center dont la taille est de 800 * 600, qd je lance mon projet, mon jscrollpane se retrouve au centre avec une taille à peu pres adapté à celle de son contenu.
    Si je le met directement ds mon jframe cela fait ici aussi une taille adapté à son contenu, mais la je peux agrandir.

    Je ne peux pas le mettre directement dans ma JFrame car celle-ci doit aussi contenir d'autres éléments.
    J'ai besoin que ce soit plus grand car ce Jscrollpane contient une jtreetable non déroulé qui va s'agrandir.
    Si quelqu'un pouvait me dire comment forcer la taille de ma jscrollpane a celle disponible dans ma jframe.
    Merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 128
    Par défaut
    Hum, quel est le layout que tu utilises dans ta JFrame? Penses à utiliser le BorderLayout, qui normalement remplit avec ses comosants toute la place disponible....
    Sinon tu peux essayer de jouer sur setMinimum/Maximum/Preferred Size().

  3. #3
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Cela ne viendrait pas d'un appel à "this.pack()" dans ta JFrame ? Essais en mettant en commentaire cette instruction si elle existe.

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    Ok, merci, je regarde ca demain quand je serais de nouveau au boulot.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    J'ai essayé d'enlever le pack mais ca change rien, je mets mon code si quelqu'un à des idées....

    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
     
    public class TreeTableExample0 extends JPanel implements ActionListener
    {
     
        static JLabel titre;
        static JTextField actuel, nouveau;
        static JPanel panneauChamps; 
        int numligne=-1;
        String portlet,value;
        Object node;
        FileSystemModelprtest model;
        final JTreeTable treeTable;
     
        public Dimension getPreferredSize() {
            return new Dimension(800, 600);
     
           }
     
        public static void main(String[] args) throws Exception {
     
            titre=new JLabel("voici mon bas de page");
            JFrame frame = new JFrame("Test portlet");
            //new TreeTableExample0();
            TreeTableExample0 test=new TreeTableExample0();
     
        	//test.setSize(new Dimension(500,500));
        	frame.getContentPane().add(panneauChamps,"North");
        	frame.getContentPane().add(test,"Center");
        	frame.getContentPane().add(titre,"South");
        	frame.getContentPane().add(test);
            frame.setSize(test.getPreferredSize());
        	frame.pack();
        	frame.show();
        }
     
     
        public TreeTableExample0() throws Exception {
     
     
            panneauChamps=new JPanel(new GridLayout(2,1));
            actuel=new JTextField();
            nouveau=new JTextField();
            nouveau.setActionCommand("ligne suivante");
            nouveau.addActionListener(this);
            panneauChamps.add(actuel);
            panneauChamps.add(nouveau);
     
    	//String path = System.getProperty("user.home");
    	//InputSource path=new InputSource("les 2 ensembles.pte");
    	String path="les 2 ensembles.pte";
    	//String path="config.xml";
    	node=null;
     
    	model =new FileSystemModelprtest(path);
     
    	treeTable = new JTreeTable(model);
     
    	treeTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        treeTable.setSize(700,500);
     
    	treeTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
            public void valueChanged(ListSelectionEvent e) {
                if (e.getValueIsAdjusting()) return; 
                int t=treeTable.getSelectedRow();
     
                if( !nouveau.getText().equals("") && !(numligne==-1) && node!=null){
                    System.out.println("suis la");
                	model.setValueAt(nouveau.getText(),node,2);}
                if(t>=0){
                    actuel.setText((String)treeTable.getValueAt(t,1));
                    nouveau.setText((String)treeTable.getValueAt(t,2));
                    node=treeTable.getValueAt(t,0);
                    nouveau.requestFocus();
                    numligne=t;
                    portlet="";
                }
            }});
     
    	//treeTable.setSize(getPreferredSize());
    	JScrollPane scrollpane=new JScrollPane(treeTable);
    	scrollpane.setSize(700,500);
    	add(scrollpane);
     
     
     
        }
     
        /* (non-Javadoc)
         * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
         */
        public void actionPerformed(ActionEvent e) {
            String commande;
     
            commande = e.getActionCommand();
            if (commande.equals("ligne suivante")){
                if(treeTable.getSelectedRow()<treeTable.getRowCount()-1)
                    treeTable.setRowSelectionInterval(treeTable.getSelectedRow()+1, treeTable.getSelectedRow()+1); 
                else if(treeTable.getSelectedRow()>0)
                    treeTable.setRowSelectionInterval(treeTable.getSelectedRow()-1, treeTable.getSelectedRow()-1); 
     
            }
     
        }
    }

  6. #6
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Je ne saisi pas tout car je n'ai pas l'habitude de travailler comme ça ( au niveau conception ).
    Cependant quelques remarques :

    - treeTable.setSize(700,500) et scrollPane.setSize(700,500). L'erreur ne viendrait pas de là ?

    - Lorsque tu construis ton JScrollPane, tu ne lui spécifies pas les poliques d'affchage des barres ( JScrollPane.VERTICAL_SCROLLBARS_ALWAYS ... )

    - Je pense que le problème vient de là :tu ne définit pas par toi-même le layout du panel qui est un FlowLayout par défaut et qui peux expliquer le problème --> rajoute un "this.setLayout(new BorderLayout(5,5));" dans ton constructeur

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    130
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2005
    Messages : 130
    Par défaut
    -J'ai enlever les treeTable.setSize(700,500) et scrollPane.setSize(700,500), l'erreur ne venait pas de là, j'avais différents tests c'est pour ça qu'ils étaient là et comme apparement il ne changeait rien je les avait laissé.

    -Je n'ai pas spécifié les politiques d'affichage des barres car celles par défaut me vont, je veux que la scrollbar apparaisse uniquement si besoin.

    -J'ai rajouté this.setLayout(new BorderLayout(1,1)); et maintenant ca marche merci.

    Par contre comme au départ mon Jtreetable de mon Jscrollpane est pas completement déroulé le fond reste gris ds la partie où il n'apparait pas, j'ai essayé de mettre un fond blanc a ce jscrollpane mais ca ne change rien.

Discussions similaires

  1. [JScrollPane] Probleme de taille initiale d'un JPanel
    Par bulbo dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 13/08/2007, 13h52
  2. JFrame resize taille
    Par Jats_map dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 20/06/2007, 17h41
  3. [JScrollPane]Définir la taille d'une JTable
    Par leminipouce dans le forum Composants
    Réponses: 1
    Dernier message: 03/04/2007, 13h29
  4. JTable & JScrollPane : problèmes de taille
    Par xixi31 dans le forum Composants
    Réponses: 1
    Dernier message: 22/11/2006, 12h02
  5. [JScrollPane] élargir la taille
    Par nyny_p dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 03/05/2003, 10h54

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