Partage
  • Partager sur Facebook
  • Partager sur Twitter

JScrollPane ne marche jamais!

Sujet résolu
    25 août 2015 à 20:25:34

    Bonjour,

    Je fais une interface graphique dynamique qui ajoute des composants ou en retranche donc la taille de la totalite changera surement. et donc à un moment donné la taille sera plus grande que celle de la fenêtre. J'ai donc besoin d'un JScrollPane si j'ai bien compris.

    Je l'ai ajouté mais ça ne marche pas. J'ai donc essayé un exemple tout simple mais ça ne marche toujours pas!

    voila le code:

    public Fenetre(){
        this.setTitle("Data Simulator");
        this.setSize(300, 300);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
    
        JPanel content = new JPanel();
        content.setBackground(Color.LIGHT_GRAY);
        //Box imad = Box.createHorizontalBox();
        JTextArea textArea = new JTextArea(10, 10);
        
        JScrollPane scrollPane = new JScrollPane(textArea);
        setPreferredSize(new Dimension(450, 110));
        add(scrollPane, BorderLayout.CENTER);
        scrollPane.setHorizontalScrollBarPolicy(HORIZONTAL_SCROLLBAR_ALWAYS);
        scrollPane.setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS);
        scrollPane.setEnabled(true);
        scrollPane.setWheelScrollingEnabled(true);
        //---------------------------------------------
        //On ajoute le conteneur
        
        content.add(textArea);
        content.add(scrollPane);
        this.setContentPane(content);
        this.setVisible(true);
        this.setResizable(false);
      }   

    Et voilà le resultat:

    Perso, j'ai jamais vu un scroll bar pareil moi =D

    et en plus quand j ecris beaucoup horizontalement ou verticalement, et que je dépasse la taille de la fenêtre le scroll ne marche pas.

    Donc je comprends pas trop comment ça fonctionne ce machin!

    Quelqu'un pourrait m'expliquer s'il vous plait? :ange:

    • Partager sur Facebook
    • Partager sur Twitter
      27 août 2015 à 7:31:57

      Pour ceux qui cherchent le résultat, l'idée est de mettre le text area dans le scroll pane et non dans le JPanel container  comme ceci:

      TextArea text = new TextArea();
      JScrollPane scroll = new JScrollPane(text);
      container.add(scroll);
      

      En gros, tout ce qui est mis dans le container ne sera pas "scrollable", et tous les composants que vous désirez qu'ils soient "scrollable" doivent être inclus dans le scroll et ce dernier dans le container.

      • Partager sur Facebook
      • Partager sur Twitter

      JScrollPane ne marche jamais!

      × 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