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 :

Problème de rafraichissement d'une barre de défilemement JScrollPane


Sujet :

Agents de placement/Fenêtres Java

  1. #1
    Membre régulier Avatar de ForgetTheNorm
    Homme Profil pro
    Docteur en informatique
    Inscrit en
    Novembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Docteur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 133
    Points : 76
    Points
    76
    Par défaut Problème de rafraichissement d'une barre de défilemement JScrollPane
    Bonjour

    J'ai un petit soucis sur mon application.
    Pour résumer, j'ai un JScrollPane qui contient un JPanel, sur lequel j'ai fait mon propre paint().
    Lors d'une action, ce JPanel augmente de taille :
    this.setPreferredSize(new Dimension(x,y));
    Seulement, lorsqu'il est trop grand, le JScrollPane ne bouge pas.
    J'ai tenté lors de cette action de faire un myjscrollpane.repaint(), mais rien n'y fait...
    Le seul moyen que j'ai de faire rafraichir ce JScrollPane et de redimentionner ma fenetre.
    Y aurait-il une méthode spécifique au JScrollPane pour le rafraichir ?

    Merci

    Pierre

  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 : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bonsoir

    la méthode revalidate() devrait faire l'affaire

  3. #3
    Membre régulier Avatar de ForgetTheNorm
    Homme Profil pro
    Docteur en informatique
    Inscrit en
    Novembre 2006
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Docteur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 133
    Points : 76
    Points
    76
    Par défaut
    Bonjour

    Désolé, je n'ai plus l'appli sous la main, mais j'ai le souvenir d'avoir testé hier un
    this.setPreferredSize(new Dimension(x,y));
    this.setSize(new Dimension(x,y));

    Cette méthode fonctionne, même si j'ai du mal à me convaincre de la différence entre le setSize et le setPreferredSize...

    J'essayerai ce soir le revalidate().

    Merci sinok.

  4. #4
    Candidat au Club
    Inscrit en
    Décembre 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour, j'ai un souci équivalent à celui que tu as, mais je n'arrive toujours pas à le régler.
    En effet j'ai un panel dans lequel j'ajoute un JScrollPane contenant une table mais lorsque ma table change et qu'elle devient trop grande pour le panel, la scroll n'apparait que si je redimensionne la fenêtre et inversement si la table redevient plus petite que le panel. J'ai bien essayé les solutions proposées mais j'ai toujours le même problème, auriez-vous une idée de ce qui cloche ?
    Ci dessous mon code, bon c'est pas très joli car je débute faite abstraction
    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
     
    final JPanel panel = new JPanel(false);
    		panel.setLayout(new BorderLayout());
    		panel.setPreferredSize(new Dimension(800, 400));
    		//panel.setSize(new Dimension(800, 400));
    		final DataTableModel dataTable = new DataTableModel(pers, 0, 3); 
    		final JTable table = new JTable(dataTable);
    		table.setPreferredScrollableViewportSize(new Dimension(800, 400));
    		table.setFillsViewportHeight(true);
     
    		message = new JTextField();
    		JPanel panel2 = new JPanel(false);
    		panel2.setLayout(new BorderLayout());
    		JButton bouton = new JButton("Rechercher");
    		bouton.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent arg0) {
    				if ("Ok" != null) {
    					String achercher = message.getText();
    					try {
    						pers.search(achercher);
    						dataTable.setNblignes(pers.result.size());
    						repaint();
    					} catch (RemoteException e) {
    						e.printStackTrace();
    					}
    					message.setText("");
    				}
    			}
    		});
     
    		bouton.setMnemonic(KeyEvent.VK_ENTER);
    		panel.add(panel2, BorderLayout.SOUTH);
    		panel2.add(message, BorderLayout.CENTER);
    		panel2.add(bouton, BorderLayout.WEST);
    		/*panel.add(table, BorderLayout.CENTER);
    		panel.add(table.getTableHeader(), BorderLayout.NORTH);*/
    		JScrollPane scroll = new JScrollPane(table);
    		panel.add(scroll);//, BorderLayout.CENTER);

Discussions similaires

  1. Problème de rafraichissment d'une barre de progression
    Par CocoLeNain dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 03/05/2010, 14h15
  2. Réponses: 1
    Dernier message: 03/05/2007, 11h43
  3. [AJAX] Rafraichissement d'une liste en autocomplétion
    Par emilie1t dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/03/2007, 15h27
  4. [VB6]Problème de rafraichissement d'une combobox
    Par bb62 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/01/2006, 16h58
  5. Problème de "rafraichissement" dans une edit box e
    Par X-K4l1 dans le forum Windows
    Réponses: 1
    Dernier message: 23/08/2005, 11h49

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