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 :

Pourquoi n'ai je pas de ScrollPane ?


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Par défaut Pourquoi n'ai je pas de ScrollPane ?
    Bonjour ,


    je ne comprends pas pourquoi j'ai pas de scroll ici, je cherche depuis un moment. Peut etre certains trouveront ils rapidement ?

    merci en tout cas


    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
     
    import javax.swing.*;
    import java.awt.*;
    //import java.awt.event.*;
     
    //import javax.swing.JComponent.*;
     
    public class FenetreScroll extends JFrame {
     
     
    	private JPanel Panneau;
    	private JButton Bouton;
    	private JScrollPane defil  ;
     
    	FenetreScroll ()
    	{
    	super();
    	setTitle("Une fenetre contenant un panneau");
    	Dimension D1= new Dimension(400,400);
    	setSize(D1);
    	setVisible(true);
     
    	Panneau = new JPanel();
    	this.add(Panneau);
    	Panneau.setBackground(Color.GREEN);
    	Bouton = new JButton("Un Bouton");
    	Panneau.add(Bouton);
    	Panneau.setSize(D1);
     
     
    	defil = new JScrollPane(Panneau);
    	Panneau.add(defil); //cette ligne fait une erreur 
     
    	}
     
    	public static void main(String[] args) {
    		FenetreScroll maFenetre = new FenetreScroll();
    		maFenetre.setVisible(true);
    	}
     
    }

  2. #2
    Membre expérimenté
    Inscrit en
    Janvier 2006
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 257
    Par défaut
    L'ascenseur n'apparait que si besoin avec la politique par defaut de ton scrollpane

    ++

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    salut
    essaie de modifier
    private JScrollpane defil = new JScrollpane();

    puis tu dosi ajouter le composant avec
    defil.setBounds(positionnement et la taille sur la Frame)
    Panneau.add(defil);


    a la fin tu dois ajouter le panneau a la Frame
    getContentPane().add(panneau);

  4. #4
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    Non tu integre tes elements dans le ScrollPane est apres tu ajoutes au panel ton scrollpane est non l'inverse

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2006
    Messages
    630
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 630
    Par défaut
    essaie ma solution sinon remplacer cette ligne defil = new JScrollPane(Panneau); JScrollPane defil = new JScrollPane();puis l'ajoute dans panel
    Panneau.add(defil);

  6. #6
    Membre confirmé Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Par défaut aucune réponse ne fonctionne
    et j'avoue que je comprends pas bien
    pourtant je redimensionne dans tous les sens pour voir le scroll pane

    je vais tout de meme essayer la réponse qui a été rejetée par Ulysse, meme si ça a l'air bizarre....

    D'autres idées ?

  7. #7
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,


    Non il ne faut pas utiliser add() sur les JScrollPane, mais son constructeur ou la méthode setViewportView()...

    Ensuite la création de ton interface est bizarre : tu crées un JPanel que tu met dans un JScrollPane que tu met dans le JPanel qui contient... c'est à en perdre la tête !

    Essaye de bien conserver une certaine logique (un bouton dans un panel dans un scrollpane dans une fenetre), par 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
    	FenetreScroll() {
    		super();
    		// On initialise les propriétées de la fenêtre
    		setTitle("Une fenetre contenant un panneau");
    		setSize(new Dimension(400, 400));
     
    		// On crée le paneau principal de l'application :
    		// (pas la peine de lui donner une taille ce sera fait par le layout)
    		panneau = new JPanel();
    		panneau.setBackground(Color.GREEN);
     
    		// On crée le bouton et on l'ajoute au panneau :
    		bouton = new JButton("Un Bouton");
    		panneau.add(bouton);
     
    		// Enfin on met le panneau dans un JScrollPane
    		defil = new JScrollPane(panneau);
     
    		// et on ajoute le scrollpane dans la fenêtre
    		// (a partir de Java 5.0 on peut se passer du 'getContentPane()',
    		// mais il vaut mieux le garder pour bien comprendre ce que l'on fait)
    		this.getContentPane().add(defil);
     
    		// Enfin on affiche la fenêtre :
    		setVisible(true);
    	}
    a++

  8. #8
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    C'est se que j'ai mis dans le code enfin j'espere que sa t'aura aider
    ++

  9. #9
    Membre confirmé Avatar de poulette3000
    Profil pro
    Inscrit en
    Août 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 183
    Par défaut message à adiGuba
    Voila j'ai fait tit programme avec ce que vous m'avez dit.

    Et je n'ai toujours PAS DE SCROLLPANE
    essayez donc par vous meme que diable !

    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
     
    import java.awt.Color;
    import java.awt.Dimension;
     
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
     
     
    public class test {
    	public static void main(String[] args) {
    		FenetreScrollee maFenetre = new FenetreScrollee();	
    		maFenetre.setVisible(true);
    					}
    }
     
     
    	class FenetreScrollee extends JFrame{	
    		 FenetreScrollee() {
    			super();
    		// On initialise les propriétées de la fenêtre
    		setTitle("Une fenetre contenant un panneau");
    		setSize(new Dimension(400, 400));
     
    		// On crée le paneau principal de l'application :
    		// (pas la peine de lui donner une taille ce sera fait par le layout)
    		JPanel panneau = new JPanel();
    		panneau.setBackground(Color.GREEN);
     
    		// On crée le bouton et on l'ajoute au panneau :
    		JButton bouton = new JButton("Un Bouton");
    		panneau.add(bouton);
     
    		// Enfin on met le panneau dans un JScrollPane
    		JScrollPane defil = new JScrollPane(panneau);
     
    		// et on ajoute le scrollpane dans la fenêtre
    		// (a partir de Java 5.0 on peut se passer du 'getContentPane()',
    		// mais il vaut mieux le garder pour bien comprendre ce que l'on fait)
    		this.getContentPane().add(defil);
     
    		// Enfin on affiche la fenêtre :
    		setVisible(true);
    	}
    }

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 05/10/2005, 14h50
  2. Pourquoi ce code marche pas sous FF?
    Par Death83 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/09/2005, 10h04
  3. [W3C] Pourquoi ça ne marche pas sous IE
    Par polo-j dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 16/02/2005, 16h07
  4. Pourquoi je n'ai pas le droit à un bootsplash ?
    Par Michaël dans le forum Administration système
    Réponses: 4
    Dernier message: 30/08/2004, 14h02
  5. [C#] Pourquoi je ne peux pas sauvegarder le fichier Xml ?
    Par gregoun dans le forum Services Web
    Réponses: 5
    Dernier message: 05/05/2004, 10h00

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