Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème avec JScrollPane

Sujet résolu
    2 mai 2008 à 21:55:56

    Bonjour,

    J'ai réalisé un petit éditeur HTML tout simple. Il possède deux onglets (un pour taper le code source et un pour voir l'aperçu).
    Dans l'onglet source, il y a un JTextPane avec un JScrollPane visible.
    Mais dans l'onglet aperçu, il y a un JEditorPane avec un JScrollPane invisible.
    Je ne comprends pas pourquoi.

    Merci

    Voici les sources :

    Compo.java (interface) :

    import java.awt.*;
    
    import javax.swing.*;
    import javax.swing.text.html.*;
    import javax.swing.tree.*;
    
    public interface Compo {
    	
    	// menus :
    	
    	JMenuBar menuBar = new JMenuBar();
    	
    	JMenu fichier = new JMenu("Fichier");
    	JMenuItem nouv = new JMenuItem("Nouveau");
    	JMenuItem ouv = new JMenuItem("Ouvrir...");
    	JMenuItem enreg = new JMenuItem("Enregistrer");
    	JMenuItem enregs = new JMenuItem("Enregistrer sous...");
    	JMenuItem quitter = new JMenuItem("Quitter");
    	JMenuItem aper = new JMenuItem("Aperçu");
    	
    	JMenu edition = new JMenu("Edition");
    	JMenuItem couper = new JMenuItem("Couper");
    	JMenuItem copier = new JMenuItem("Copier");
    	JMenuItem coller = new JMenuItem("Coller");
    	JMenuItem asso = new JMenuItem("Associer à un .css");
    	
    	JMenu projets = new JMenu("Projets");
    	JMenuItem espacesTravails = new JMenu("Espaces de travaux");
    	JMenuItem espaceTravail = new JMenuItem("Définir un espace de travail");
    	JMenuItem crerProjet = new JMenuItem("Créer un projet");
    	JMenuItem creeHTML = new JMenuItem("Créer un fichier");
    	JMenuItem vosProjets = new JMenuItem("Vos projets...");
    	
    	JMenu langage = new JMenu("Langage");
    	JCheckBoxMenuItem langageHTML = new JCheckBoxMenuItem("HTML");
    	JCheckBoxMenuItem langagePHP = new JCheckBoxMenuItem("PHP");
    	JCheckBoxMenuItem langageCSS = new JCheckBoxMenuItem("CSS");
    	JCheckBoxMenuItem langageNormal = new JCheckBoxMenuItem("Normal", true);
    	ButtonGroup checkBoxLangage = new ButtonGroup();
    	
    	JMenu help = new JMenu("?");
    	JMenuItem aidee = new JMenuItem("Aide");
    	JMenuItem aide = new JMenuItem("A propos");
    	
    	// menus contextuels :
    	
    	JPopupMenu menuPop = new JPopupMenu();
    	JMenuItem popCouper = new JMenuItem("Couper");
    	
    	// frame
    	
    	JFrame cadre = new JFrame();
    	
    	
    	// onglets :
    	
    	JTabbedPane onglets = new JTabbedPane();
    	
    	// font :
    	
    	Font font = new Font("Arial black", Font.BOLD | Font.ITALIC, 15);
    	Font fontEditeur = new Font("Arial Narrow", Font.PLAIN, 15);
    	
    	// panels :
    	
    	JPanel ongletSource = new JPanel();
    	JPanel ongletAperçu = new JPanel();
    	JPanel panel = new JPanel();
    	JPanel panelVide = new JPanel();
    	BorderLayout dispo = new BorderLayout();
    	
    	// composants texte :
    	
    	Source texteSource = new Source();
    	JScrollPane source = new JScrollPane(texteSource);
    	Aperçu aperçu = new Aperçu();
    	JScrollPane vuHtml = new JScrollPane(aperçu);
    	HTMLEditorKit editeurHTML = new HTMLEditorKit();
    	JEditorPane aSer = new JEditorPane();
    	JScrollPane scr = new JScrollPane(aSer);
    	HTMLEditorKit HTML = new HTMLEditorKit();
    	
    	// barre d'outils :
    	
    	JToolBar barreOutils = new JToolBar();
    	JButton outNouv = new JButton(new ImageIcon("nouv.gif"));
    	JButton outOuv = new JButton(new ImageIcon("ouv.gif"));
    	JButton outEnreg = new JButton(new ImageIcon("enreg.gif"));
    	JButton outQuit = new JButton(new ImageIcon("quit.gif"));
    	JButton outAper = new JButton(new ImageIcon("aper.gif"));
    	JButton outCouper = new JButton(new ImageIcon("couper.gif"));
    	JButton outCopier = new JButton(new ImageIcon("copier.gif"));
    	JButton outColler = new JButton(new ImageIcon("coller.gif"));
    	JButton outCSS = new JButton(new ImageIcon("css.gif"));
    	JButton ok = new JButton("OK");
    	
    	// labels :
    	
    	JLabel labelNom = new JLabel("Nom du projet : ");
    	
    	// textfields :
    	
    	JTextField champNom = new JTextField(15);
    	
    	// icone :
    	
    	ImageIcon icone = new ImageIcon("icône.png");
    	
    	// dialogues :
    	
    	JDialog dialoguer = new JDialog(cadre, false);
    	JDialog aider = new JDialog(cadre, false);
    	JDialog projetter = new JDialog(cadre, false);
    	GridBagLayout dispo1 = new GridBagLayout();
    	GridBagConstraints co = new GridBagConstraints();
    	
    	// autres
    	
    	String stringAide = new String("<html><b><center><h1>JHTML</h1></center></b><br><br><br><br>" +
    			"<p><u><b>I Qu'est-ce que JHTML :</b></u></p><br><br>"+
    			"<p>JHTML est un éditeur HTML qui permet de taper le code source et d'en voir l'aperçu.</p><br>" +
    			"<p>Il a été créé en Java avec Swing par wanghao10.</p><br><br><br>" +
    			"<u><b>II Fonctions :</b></u><br><br>"+
    			"<p>Il a les fonctions principales d'un éditeur HTML commme : </p><br>"+
    			"<p><li>Nouveau</li></p>" +
    			"<p><li>Ouvrir</li></p>" +
    			"<p><li>Enregistrer</li></p>" +
    			"<p><li>Enregistrer sous</li></p>" +
    			"<p><li>Aperçu(HTML)</li></p>" +
    			"<p><li>Copier</li></p>" +
    			"<p><li>Coller</li></p>"+
    			"<p><li>Couper</li></p>"+
    			"<p><li>etc....</li></p><br>"+
    			"<p>Il n'y a donc pas besoin de vous expliquer ces fonctions.</p><br><br>"+
    			"<p>JHTML est un éditeur HTML à coloration syntaxique (qui colorier les mot-clès du langage choisi dans le menu languages.</p><br>"+
    			"<p>On peut associer un fichier .css à un fichier.</p><br><br>" +
    			"<p>Il permet de gérer des projets.</p><br><br><br>"+
    			"<p>On peut définir un espace de travail.</p>"+
    			"<p><u><b>III L'auteur</b></u><br><br></p>"+
    			"C'est un jeune programmeur Java qui a pour pseudo : wanghao10");
    	
    	// arbres :
    	
    	DefaultMutableTreeNode racine = new DefaultMutableTreeNode("Projets :");
    	DefaultTreeModel model = new DefaultTreeModel(racine);
    	JTree monArbre = new JTree(racine) ;
    	JTree tree = new JTree(racine);
    	JPanel panelTree = new JPanel();
    	
    	JPanel panelInvisible = new JPanel();
    	JLabel labelInvisible = new JLabel();
    	
    	JDialog dialog = new JDialog();
    	JPanel panelD = new JPanel();
    	JTextField text = new JTextField("                                   ");
    	JButton boutonOK = new JButton("OK");
    	FlowLayout layout = new FlowLayout();
    	JPanel panelE = new JPanel();
    	BorderLayout layou1 = new BorderLayout();
    	
    }
    


    JHTML.java (Classe main) :

    import java.awt.Dimension;
    
    public class JHTML implements Compo{
    	
    	JHTML(String titre){
    		
    		menuBar.add(fichier);
    		menuBar.add(edition);
    		menuBar.add(help);
    		
    		fichier.add(nouv);
    		nouv.setMnemonic('N');
    		fichier.add(ouv);
    		ouv.setMnemonic('O');
    		fichier.add(enreg);
    		enreg.setEnabled(false);
    		enreg.setMnemonic('S');
    		fichier.add(enregs);
    		fichier.addSeparator();
    		fichier.add(aper);
    		aper.setMnemonic('A');
    		fichier.addSeparator();
    		fichier.add(asso);
    		asso.setEnabled(false);
    		fichier.addSeparator();
    		fichier.add(quitter);
    		quitter.setMnemonic('Q');
    		
    		edition.add(couper);
    		couper.setMnemonic('X');
    		edition.add(copier);
    		copier.setMnemonic('C');
    		edition.add(coller);
    		coller.setMnemonic('V');
    		
    		projets.add(espaceTravail);
    		projets.add(espacesTravails);
    		projets.add(crerProjet);
    		projets.add(creeHTML);
    		projets.add(vosProjets);
    		
    		langage.add(langageNormal);
    		langage.add(langageHTML);
    		langage.add(langagePHP);
    		langage.add(langageCSS);
    		checkBoxLangage.add(langageHTML);
    		checkBoxLangage.add(langagePHP);
    		checkBoxLangage.add(langageCSS);
    		checkBoxLangage.add(langageNormal);
    		
    		menuPop.add(popCouper);
    		
    		barreOutils.add(outNouv);
    		outNouv.setToolTipText("Nouveau fichier");
    		barreOutils.addSeparator();
    		barreOutils.add(outOuv);
    		outOuv.setToolTipText("Ouvrir un fichier");
    		barreOutils.addSeparator();
    		barreOutils.add(outEnreg);
    		outEnreg.setToolTipText("Enregistrer un fichier");
    		outEnreg.setEnabled(false);
    		barreOutils.addSeparator();
    		barreOutils.add(outCouper);
    		outCouper.setToolTipText("Couper");
    		barreOutils.addSeparator();
    		barreOutils.add(outCopier);
    		outCopier.setToolTipText("Copier");
    		barreOutils.addSeparator();
    		barreOutils.add(outColler);
    		outColler.setToolTipText("Coller");
    		barreOutils.addSeparator();
    		barreOutils.add(outAper);
    		outAper.setToolTipText("Aperçu");
    		barreOutils.addSeparator();
    		barreOutils.add(outCSS);
    		outCSS.setToolTipText("Associer un fichier .css");
    		outCSS.setEnabled(false);
    		barreOutils.addSeparator();
    		barreOutils.add(outQuit);
    		outQuit.setToolTipText("Quitter");
    		barreOutils.addSeparator();
    		
    		help.add(aidee);
    		help.add(aide);
    		
    		onglets.addTab("Source", ongletSource);
    		ongletSource.add(source);
    		texteSource.setEditable(true);
    		source.setPreferredSize(new Dimension(1150, 710));
    		texteSource.setFont(fontEditeur);
    		aperçu.setPreferredSize(new Dimension(1250, 710));
    		onglets.setPreferredSize(new Dimension(1300, 900));
    		
    		panel.setLayout(dispo);
    		panel.add("Center", onglets);
    		panel.add("North", barreOutils);
    		
    		onglets.setOpaque(true);
    		cadre.setContentPane(panel);
    		cadre.setIconImage(icone.getImage());
    		cadre.setJMenuBar(menuBar);
    		cadre.setVisible(true);
    		cadre.setTitle(titre);
    		cadre.pack();
    		
    		aSer.setEditorKit(HTML);
    		aider.add(scr);
    		aSer.setEditable(false);
    		aSer.setText(stringAide);
    		scr.setPreferredSize(new Dimension(400, 700));
    		aider.setTitle("Aide");
    		
    		panelTree.add(tree);
    		tree.setModel(model);
    		panelTree.setPreferredSize(new Dimension(400, 400));
    		
    		Actions actions = new Actions();
    		quitter.addActionListener(actions);
    		ouv.addActionListener(actions);
    		enregs.addActionListener(actions);
    		enreg.addActionListener(actions);
    		nouv.addActionListener(actions);
    		asso.addActionListener(actions);
    		couper.addActionListener(actions);
    		copier.addActionListener(actions);
    		coller.addActionListener(actions);
    		aide.addActionListener(actions);
    		aper.addActionListener(actions);
    		langageHTML.addActionListener(actions);
    		langagePHP.addActionListener(actions);
    		langageCSS.addActionListener(actions);
    		outNouv.addActionListener(actions);
    		outOuv.addActionListener(actions);
    		outEnreg.addActionListener(actions);
    	    outAper.addActionListener(actions);
    	    outCSS.addActionListener(actions);
    		outQuit.addActionListener(actions);
    		aidee.addActionListener(actions);
    		crerProjet.addActionListener(actions);
    		vosProjets.addActionListener(actions);
    		espaceTravail.addActionListener(actions);
    		outCouper.addActionListener(actions);
    		outCopier.addActionListener(actions);
    		outColler.addActionListener(actions);
    		ok.addActionListener(actions);
    		creeHTML.addActionListener(actions);
    		boutonOK.addActionListener(actions);
    		
    		aperçu.addHyperlinkListener(actions);
    		
    		menuPop.addMouseListener(actions);
    	}
    
    
    	public static void main(String[] args) {
    		
    		JHTML htmlEditor = new JHTML("JHTML");
    		htmlEditor.getClass();
    		}
    }
    


    Actions.java (classe des évènements) :

    import java.awt.event.*;
    import java.io.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import java.awt.Dimension;
    import java.beans.XMLEncoder;
    
    public class Actions implements ActionListener, Compo, MouseListener, HyperlinkListener, KeyListener, Serializable{
    	
    	static final long serialVersionUID = 0;
    	
    	JFileChooser jfc = new JFileChooser();
    	File fichierCourant = jfc.getSelectedFile();
    	
    	public void actionPerformed(ActionEvent e){
    		
    		if(e.getSource() == quitter || e.getSource() == outQuit){
    			texteSource.rechercher();
    			System.exit(0);
    		}
    		else if(e.getSource() == nouv || e.getSource() == outNouv){
    			texteSource.setText("");
    			panelVide.add(ongletAperçu);
    		}
    		else if(e.getSource() == ouv || e.getSource() == outOuv){
    			int resultat = jfc.showOpenDialog(cadre);
    			if (resultat == JFileChooser.APPROVE_OPTION) {
    			fichierCourant = jfc.getSelectedFile();
    			} 
    			try{
    				StringBuffer buffer = new StringBuffer();
    				String ligne;
    				texteSource.setText("");
    				BufferedReader in = new BufferedReader(new FileReader(jfc.getSelectedFile()));
    				while ((ligne = in.readLine()) != null)
    					buffer.append(ligne + (char) '\n'); 
    				texteSource.setText(buffer.toString());
    				if(jfc.accept(jfc.getSelectedFile())){
    					ouv.setEnabled(true);
    					asso.setEnabled(true);
    					enreg.setEnabled(true);
    					outEnreg.setEnabled(true);
    					outCSS.setEnabled(true);
    				}
    			}
    			catch(FileNotFoundException eu) {
    			} 
    			catch(IOException oe){}
    		}
    		else if(e.getSource() == enregs){
    			jfc.setDialogTitle("Enregistrer sous");
    			jfc.setApproveButtonText("Enregistrer");
    			jfc.setApproveButtonToolTipText("Enregistrer le fichier à cet emplacement");
    			int resulta = jfc.showOpenDialog(cadre);
    			if (resulta == JFileChooser.APPROVE_OPTION){
    			try{
    				
    				PrintWriter ecrire = new PrintWriter(new FileWriter(jfc.getSelectedFile()));
    				ecrire.write(texteSource.getText());
    				ecrire.close();
    				if(jfc.accept(jfc.getSelectedFile())){
    					ouv.setEnabled(true);
    					asso.setEnabled(true);
    					enreg.setEnabled(true);
    					outEnreg.setEnabled(true);
    					outCSS.setEnabled(true);
    				}
    			}
    				
    			catch(IOException ioe){}
    			}
    			}
    		else if(e.getSource() == enreg || e.getSource() == outEnreg){
    			fichierCourant.getPath();
    			try{
    				PrintWriter ecriture = new PrintWriter(new FileWriter(fichierCourant.getPath()));
    				ecriture.write(texteSource.getText());
    				ecriture.close();
    			}
    			catch(IOException ioe){}
    		}
    		else if(e.getSource() == couper || e.getSource() == outCouper){
    			texteSource.getSelectedText();
    			texteSource.cut();
    		}
    		else if(e.getSource() == copier || e.getSource() == outCopier){
    			texteSource.getSelectedText();
    			texteSource.copy();
    		}
    		else if(e.getSource() == coller || e.getSource() == outColler){
    			texteSource.paste();
    		}
    		else if(e.getSource() == aper || e.getSource() == outAper){
    			aperçu.setEditable(false);
    			aperçu.setEditorKit(editeurHTML);
    			aperçu.setText(texteSource.getText());
    			ongletAperçu.add(vuHtml);
    			onglets.addTab("Aperçu HTML", ongletAperçu);
    				}
    		else if(e.getSource() == aide){
    			JOptionPane.showMessageDialog(null, "JHTML 2.0\n\n"+
    					"créé par wanghao10",
    					"A propos",
    					JOptionPane.PLAIN_MESSAGE);
    		}
    		else if(e.getSource() == langageHTML){
    			}
    		else if(e.getSource() == asso || e.getSource() == outCSS){
    			File fichier = jfc.getSelectedFile();
    			JFileChooser jcss = new JFileChooser();
    			int resultat = jcss.showOpenDialog(cadre);
    			if (resultat == JFileChooser.APPROVE_OPTION) {
    				char caractere = '"';
    				String link =("<link rel="+caractere+"stylsheet"+caractere+" media="+caractere+" screen"+caractere+
    						" type="+caractere+"text/css"+caractere+" title ="+caractere+"Design"+caractere+" href="+caractere+
    						fichier.getPath()+caractere);
    				texteSource.setText(link+texteSource.getText());
    			} 
    			}
    		else if(e.getSource() == crerProjet){
    			JPanel panelPro = new JPanel();
    			co.gridheight = 2;
    			co.gridheight = 2;
    			panelPro.add(labelNom);
    			panelPro.add(champNom);
    			panelPro.add(ok);
    			projetter.setTitle("Nouveau projet");
    			projetter.setContentPane(panelPro);
    			projetter.pack();
    			projetter.setVisible(true);
    		}
    		else if(e.getSource() == ok){
    			tree.setModel (new DefaultTreeModel(racine));
    			DefaultMutableTreeNode projet1 = new DefaultMutableTreeNode(champNom.getText());
    			tree.setModel(model);
    			model.insertNodeInto(projet1, racine, racine.getChildCount());
    			File file = new File(labelInvisible.getText(), champNom.getText());
    			file.mkdir();
    			try{
    				PrintWriter fily = new PrintWriter(file);
    				fily.write("");
    				File fichier = new File("test.xml");
    				XMLEncoder xml = new XMLEncoder(new FileOutputStream(fichier));
    				xml.writeObject(tree);
    				}
    			catch(IOException ioe) {}
    			projetter.setVisible(false);
    			dialoguer.pack();
    			}
    		else if(e.getSource() == vosProjets){
    			dialoguer.setContentPane(panelTree);
    			dialoguer.setTitle("Projets");
    			dialoguer.pack();
    			dialoguer.setVisible(true);
    		}
    		else if(e.getSource() == aidee){
    			aider.setModal(false);
    			aider.setVisible(true);
    			aider.pack();
    		}
    		else if(e.getSource() == espaceTravail){
    			JFileChooser jfic = new JFileChooser();
    			jfic.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
    			jfic.setDialogTitle("Définir un espace de travail");
    			jfic.showDialog(cadre, "Choisir");
    			File fichierr = (File)jfic.getSelectedFile();
    			JMenuItem espace1 = new JMenuItem(fichierr.getPath());
    			espacesTravails.add(espace1);
    			labelInvisible.add(panelInvisible);
    			labelInvisible.setText(fichierr.getPath());
    			try{
    				PrintWriter ecrity = new PrintWriter(new FileWriter(jfic.getSelectedFile()));
    				ecrity.write("Vous avez choisi cet espace de travail");
    				ecrity.close();
    				File dossier = new File(fichierr.getParent());
    				dossier.mkdir();
    			}
    			catch(IOException ioe){}
    		}
    		else if(e.getSource() == creeHTML){
    			JPanel panelC = new JPanel();
    			JPanel panelB = new JPanel();
    			JLabel labelO = new JLabel("<html>Veuillez sélectionner un projet et saisir le nom de votre fichier ci-dessous<br><br></html>");
    			panelC.setLayout(layout);
    			panelC.add(text);
    			panelC.add(boutonOK);
    			panelB.add(labelO);
    			panelD.add(tree);
    			panelE.setLayout(layou1);
    			panelE.add("North", panelB);
    			panelE.add("Center", panelD);
    			panelE.add("South", panelC);
    			dialog.setContentPane(panelE);
    			dialog.setTitle("Nouveau fichier");
    			panelD.setPreferredSize(new Dimension(600, 400));
    			dialog.setVisible(true);
    			dialog.pack();
    		}
    		else if(e.getSource() == boutonOK){
    			text.getText();
    			System.exit(0);
    			try{
    				File file = new File(labelInvisible.getText(), text.getText());
    				PrintWriter ecrire = new PrintWriter(new FileWriter(file+".html"));
    				ecrire.write("");
    				ecrire.close();
    			}
    			catch(IOException ioe) {}
    		}
    		}
    	public void hyperlinkUpdate(HyperlinkEvent e){
    		if(e.getEventType() == HyperlinkEvent.EventType.ACTIVATED){
    			try{
    				aperçu.setPage(e.getURL());
    			}
    			catch(IOException ui){}
    		}
    	}
    	public void mousePressed(MouseEvent mouse){
    	}
    	public void mouseExited(MouseEvent a){	
    	}
    	public void mouseReleased(MouseEvent e){	
    	}
    	public void mouseClicked(MouseEvent yu){
    	}
    	public void mouseDragged(MouseEvent y){
    	}
    	public void mouseEntered(MouseEvent u){
    	}
    	public void keyPressed(KeyEvent k){
    	}
    	public void keyTyped(KeyEvent kr){
    	}
    	public void keyReleased(KeyEvent kt){
    	}
    		}
    


    Source.java (Classe du JTextPane de l'onglet source) :

    import javax.swing.*;
    import java.awt.Color;
    
    public class Source extends JTextPane {
    	
    	static final long serialVersionUID = 0;
    	
    	String balise[] = {"<html>", "<title>", "<head>", "<body>", "</title>", "</head>", "</body>", "</html>"};
    	
    	public String rechercher(){
    		String texte = new String(this.getText());
    		JLabel label = new JLabel(texte);
    		texte.indexOf(balise.length);
    		System.out.println(label.getText());
    		return texte;
    	}
    	
    	public void colorier(String balises[], Color color){
    		this.rechercher();
    	}
    	
    	
    }
    


    Aperçu.java (Classe du JEditorPane de l'onglet aperçu) :

    import javax.swing.*;
    
    public class Aperçu extends JEditorPane{
    	
    	public static final long serialVersionUID = 0;
    	
    	Aperçu(){
    		super();
    	}
    
    }
    


    • Partager sur Facebook
    • Partager sur Twitter
      6 mai 2008 à 21:07:35

      Personne ne peut résoudre mon problème ? Le code source n'est pas assez commenté ?
      • Partager sur Facebook
      • Partager sur Twitter
        6 mai 2008 à 21:55:12

        J'ai rapidement parcouru ton code et je pense que tu as oublié de préciser cette méthode :

        monJScrollPane.setViewportView(leComposantQueContienLeJScrollPane); //afin que le JScrollPane affiche le composant a faire défiler
        


        ;)
        • Partager sur Facebook
        • Partager sur Twitter
          7 mai 2008 à 7:51:12

          Merci,

          mais la barre de défilement apparaît quand je clique à droite du JEditorPane et qu'une seule fois.

          Donc si on ne clique pas, elle n'apparaît pas.
          • Partager sur Facebook
          • Partager sur Twitter
            7 mai 2008 à 9:22:39

            A quel endroit du code insères-tu le "setViewportView" ? Normalement il faut le faire avant de rendre le composant visible. Une bonne façon de le faire est de spécifier directement dans le constructeur du ScrollPane.
            • Partager sur Facebook
            • Partager sur Twitter
              7 mai 2008 à 13:32:24

              Ce que je ne comprends pas c'est que le constructeur de mon JScrollPane est bien :

              JScrollPane monScrollPane = new JScrollPane(monComposant);
              


              Pourtant la barre de défilement ne s'affiche pas.

              Pour qu' elle s'affiche j'ai modifié le constructeur :

              JScrollPane monScrollPane = new JScrollPane(monComposant, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollBar.HORIZONTAL_SCROLLBAR_NEVER);
              


              La là barre s'affiche mais pour l'utiliser, il faut cliquer à droite de cette dernière.

              C'est bizarre car j'ai utilisé le JScrollPane à plusieurs reprises et je n'ai jamais eu ce problème.
              • Partager sur Facebook
              • Partager sur Twitter

              Problème avec JScrollPane

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown