Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15

Discussione: Barre di scorrimento

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    107

    Barre di scorrimento

    Ciao a tutti!!!
    Il problema che cerco di risolvere è questo: io ho un JScrollPane principale che è il contenitore per un JPanel (panel1) al quale aggiungo altri JPanel (panel2,panel3...). Quest'ultimi al loro interno contengono dei JLabel. Ora vorrei che ogni pannello contenente i JLabel, potesse avere delle barre di scorrimento in modo tale che quando sforo l'area visibile dei pannelli compaiano le barre di scorrimento e possa vedere tutti componenti del pannello tramite le barre.
    Ho provato ad aggiungere al panel1 dei JScrollPane contenitore ognugno dei panel2,panel3.... ma non funziona...come posso fare???
    Grazie a tutti!!

  2. #2
    La soluzione di aggiungere i JScrollPane è quella giusta. Al loro interno metti i tuoi pannelli con le JLabel. Il problema che non ti scrollano però, è che ad ogni pannello che inserisci all'interno dello scroll, devi settare la dimensione tramite il metodo setPreferredSize(), maggiore dello JScrollPane che lo contiene.

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    107
    Però al momento che raggiungo la dimensione che ho impostato per il pannello le barre non scorrono più.

  4. #4
    Non ho capito bene come stai procedendo, ma cmq se tu inserisci le JLabel dinamicamente, aggiorni anche la preferred-size del JPanel, così si adatta alla nuova dimensione.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    107
    Il problema è che non si adatta alla nuova dimensione!!!

  6. #6
    Dopo che hai aggiornato la size chiami il metodo updateUI()?

  7. #7
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da f@c3
    chiami il metodo updateUI()?
    -> http://forum.html.it/forum/showthrea...2#post12259882
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  8. #8
    Originariamente inviato da andbin
    -> http://forum.html.it/forum/showthrea...2#post12259882
    Hai ragione andbin!
    Ho consigliato updateUI() solo perchè ho avuto lo stesso problema ed ho risolto richiamando questo metodo. Avevo provato ad utilizzare anche repaint() ma senza riscontri positivi.
    Ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    107
    In definitiva quale metodo devo utilizzare per risolvere il mio problema???

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    107

    Problema nel codice sulle barre di scorrimento

    Ciao a tutti!!
    Vorrei capire dove sbaglio nel codice, il problema è questo: i vorrei vedere nel pannello center tutti e sei i bottoni che aggiungo tramite le barre di scorrimento, ma questo non succede, perchè???


    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.FlowLayout;
    import javax.swing.BoxLayout;
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JScrollPane;
    import javax.swing.JToggleButton;
    import javax.swing.border.EtchedBorder;

    public class Frame extends JFrame {
    public JDialog dialog;

    Frame(){

    this.setBounds (30, 30, 1100, 750);
    this.getContentPane().setLayout(new FlowLayout());

    dialog = new JDialog(this,"Ciao",false);
    JPanel internal = new JPanel(new BorderLayout());

    JPanel center = new JPanel();
    center.setLayout(new BoxLayout(center, BoxLayout.Y_AXIS));
    center.setPreferredSize(new Dimension(300,50));
    center.setBorder(new EtchedBorder(EtchedBorder.RAISED));

    JScrollPane scroll = new JScrollPane(center,JScrollPane.VERTICAL_SCROLLBAR_ AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEED ED);
    scroll.setPreferredSize(new Dimension(200,50));

    internal.add(scroll,BorderLayout.CENTER);

    center.add(new JToggleButton("ciao"));
    center.add(new JToggleButton("ciao"));
    center.add(new JToggleButton("ciao"));
    center.add(new JToggleButton("ciao"));
    center.add(new JToggleButton("ciao"));
    center.add(new JToggleButton("ciao"));
    center.validate();

    JPanel south = new JPanel(new FlowLayout());
    south.add(new JToggleButton("ehi"));
    south.add(new JToggleButton("ok"));

    internal.add(south,BorderLayout.SOUTH);

    dialog.add(internal);
    dialog.pack();
    dialog.setVisible(true);
    this.setVisible(true);

    }
    public static void main(String args[]){
    Frame f = new Frame();
    }
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.