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 et JLabel


Sujet :

AWT/Swing Java

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut JScrollPane et JPanel
    Bonjour,

    Voilà je souhaiterais ajouter un JLabel sur mon JPanel à chaque fois que je click sur un bouton et lorsque que tous les JLabels prennent la place du JPanel, qu'un scroll apparaissent afin que j'ai accès à tous les JLabel. J'ai donc le code suivant:

    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
    public class CompareRealEstates extends JInternalFrame {
     
    	private static final long serialVersionUID = 1L;
    	private JPanel jContentPane = null;
    	private JScrollPane jScrollPane = null;
    	private JButton jButton = null;
    	private int x = 13, y = 14;
    	private JLabel jLabel;
     
    	public CompareRealEstates() {
    		super();
    		initialize();
    	}
     
    	private void initialize() {
    		this.setSize(new Dimension(792, 560));
    		this.setIconifiable(true);
    		this.setMaximizable(true);
    		this.setResizable(true);
    		this.setClosable(true);
    		this.setTitle("Compare real estates");
    		this.setContentPane(getJContentPane());
    		try{ 
    			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
    		}catch(Exception e){ e.printStackTrace(); } 
    		SwingUtilities.updateComponentTreeUI(this);
    		this.setBorder(javax.swing.BorderFactory.createLineBorder(java.awt.Color.black, 1));
    		this.setVisible(true);
    	}
     
    	private JPanel getJContentPane() {
    		if (jContentPane == null) {
    			jContentPane = new JPanel();
    			jContentPane.setLayout(null);
    			jContentPane.add(getJScrollPane(), null);
    			jContentPane.add(getJButton(), null);
    		}
    		return jContentPane;
    	}
     
    	private JScrollPane getJScrollPane() {
    		if (jScrollPane == null) {
    			jScrollPane = new JScrollPane();
    			jScrollPane.setBounds(new Rectangle(9, 10, 680, 459));
    			jScrollPane.setBorder(null);
    			jScrollPane.setSize(new Dimension(680, 506));
    			jScrollPane.setColumnHeaderView(getJButton());
    			jScrollPane.setAutoscrolls(true);
    		}
    		return jScrollPane; 
    	}
     
    	private JButton getJButton() {
    		if (jButton == null) {
    			jButton = new JButton();
    			jButton.setBounds(new Rectangle(709, 23, 72, 23));
    			jButton.setText("Create");
    			jButton.addActionListener(new java.awt.event.ActionListener() {
    				public void actionPerformed(java.awt.event.ActionEvent e) {
    					String temp = "testsmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" +
    							"mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm" +
    							"mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm";
    					jLabel = new JLabel();
    					jLabel.setBounds(new Rectangle(x, y, 678, 88));
    					jLabel.setText("<html>ligne 1<br>" + temp + "<br>" + temp + "</html>");
    					jLabel.setVisible(true);
    					//jContentPane.add(jLabel);
    					//jScrollPane.add(jLabel);
    					jScrollPane.setViewportView(jLabel);
    					jContentPane.updateUI();
    					y += 90;
    				}
    			});
    		}
    		return jButton;
    	}
    Le problème est que le JLabel ne s'affiche qu'en plein milieu du JScrollPane quelque soit le nombre de fois où je click sur le bouton.
    Alors j'ai du zappé un truc ou ne pas comprendre le principe du JScrollPane mais là je bloque donc si vous avez une idée sur le problème n'hésitez pas

    Merci et bonne fin d'aprem.
    Dernière modification par Invité ; 03/08/2007 à 18h13. Motif: Titre mieux adapté

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

Discussions similaires

  1. JscrollPane, Jlabel et GridBagLayout
    Par mrboliboli dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 11/03/2015, 15h46
  2. Centrer un JLabel dans un JScrollPane
    Par Iron Bull dans le forum Composants
    Réponses: 4
    Dernier message: 03/03/2009, 15h45
  3. gridLayout, JLabel et JScrollPane
    Par zulot dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 03/12/2007, 14h48
  4. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  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