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

Composants Java Discussion :

[SWING] Probleme actualisation Jlist


Sujet :

Composants Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 44
    Points : 37
    Points
    37
    Par défaut [SWING] Probleme actualisation Jlist
    j'essaye d'actualiser une jlist qui est contenu dans un jscollpane lorsque je clique sur un bouton mais ca ne marche pas.

    Voici comment je procede:

    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
     
    public class Fentest extends JFrame {
     
    	private static final long serialVersionUID = 1L;
    	private JDesktopPane jDesktopPane = null;
    	private JScrollPane jScrollPane = null;
    	private JList jList = null;
    	private JButton jButton = null;
     
    	private JDesktopPane getJDesktopPane() {
    		if (jDesktopPane == null) {
    			jDesktopPane = new JDesktopPane();
    			jDesktopPane.add(getJButton(), null);
     
    		}
    		return jDesktopPane;
    	}
     
    	private JScrollPane getJScrollPane(String[] data) {
    		if (jScrollPane == null) {
    			jScrollPane = new JScrollPane();
    			jScrollPane.setBounds(new java.awt.Rectangle(42,29,259,167));
    			jScrollPane.setViewportView(getJList(data));
    		}
    		return jScrollPane;
    	}
     
    	private JList getJList(String[] data) {
    			jList = new JList(data);
    		return jList;
    	}
     
    	private JButton getJButton() {
    		if (jButton == null) {
    			jButton = new JButton();
    			jButton.setBounds(new java.awt.Rectangle(385,211,120,32));
    			jButton.setText("test");
    			jButton.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					String[] data = "two", "three", "four","one", "two", "three", "four"};
    					jDesktopPane.add(getJScrollPane(data), null);
    				}
    			});
    		}
    		return jButton;
    	}
     
    	public static void main(String[] args) {
    		Fentest myfen2 = new Fentest();
    		myfen2.setVisible(true);
    	}
     
    	public Fentest() {
    		super();
    		initialize();
    	}
     
    	private void initialize() {
     
    		this.setSize(529, 289);
    		this.setContentPane(getJDesktopPane());
    		this.setTitle("JFrame");
    		String[] data = {"one","three", "one" "two", "three","four"};
    		jDesktopPane.add(getJScrollPane(data), null);
    	}
     
    }
    voici l'erreur:
    Exception in thread "AWT-EventQueue-0" java.lang.IllegalArgumentException: illegal component position
    at java.awt.Container.addImpl(Unknown Source)
    at javax.swing.JLayeredPane.addImpl(Unknown Source)
    at java.awt.Container.add(Unknown Source)
    at Package_SystemExpert.Fentest$1.actionPerformed(Fentest.java:50)

    voici la ligne en cause:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    jDesktopPane.add(getJScrollPane(data), null);

    j'ai essayé de mettre un jDesktopPane.remove(getJScrollPane(data));avant jDesktopPane.add(getJScrollPane(data), null); mais ca ne change rien
    Merci de votre aide!

  2. #2
    Membre habitué
    Inscrit en
    Septembre 2003
    Messages
    174
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 174
    Points : 194
    Points
    194
    Par défaut Re: [SWING] Probleme actualisation Jlist
    Salut,
    En modifiant ton code ainsi, ta mise à jour se fera sans problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	         jButton.addActionListener(new java.awt.event.ActionListener() { 
    	            public void actionPerformed(java.awt.event.ActionEvent e) { 
    	               String[] data = {"two", "three", "four","one", "two", "three", "four"};
    	               jScrollPane = null;
    	               jDesktopPane.add(getJScrollPane(data), null); 
    	            } 
    	         });
    sylvain_2020

Discussions similaires

  1. [Swing] probleme de JList. (refresh et renvoi index)
    Par koolway dans le forum Composants
    Réponses: 6
    Dernier message: 24/03/2006, 19h39
  2. [Swing] Remplir une JList
    Par james2001 dans le forum Débuter
    Réponses: 24
    Dernier message: 26/08/2005, 22h04
  3. [Swing]probleme pour changer de JPanel
    Par mereyj dans le forum Composants
    Réponses: 8
    Dernier message: 19/06/2005, 12h55
  4. [Swing] probleme de GridBagLayout
    Par calypso dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 13/04/2005, 17h26
  5. [swing] probleme de memoire
    Par leBigouden dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/05/2003, 14h19

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