Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    JPanel dentro JScrollPane non scrolla

    Ciao a tutti,
    dopo aver realizzato un JPanel utilizzato per un intero software di configurazione mi sono reso conto che era necessario inserire la funzione di scroll..per questo ho aggiunto un jscrollpane però purtroppo non scrolla. Avevo pensato che il motivo potrebbe essere che il JscrollPane si ridimensiona automaticamente come il Jpanel ma settando le dimensioni del JScrollPane con setPreferredSize non è cambiato nulla.Cosa sbaglio??
    Grazie in anticipo per l'aiuto..Di seguito il codice:

    private JPanel createTitlePanel() {
    CMASLabel lblTitle = new CMASLabel(panelProperties.getProperty("Title"), 1, 21, SwingConstants.CENTER, new Rectangle(0, 0, 350, 25));

    JPanel panelTitle = new JPanel();
    panelTitle.setLayout(new BorderLayout());
    panelTitle.setMinimumSize(new Dimension(100, 30));
    panelTitle.setPreferredSize(new Dimension(100, 30));
    panelTitle.add(lblTitle, BorderLayout.CENTER);

    return panelTitle;
    }

    protected JPanel createDetailPanel() {
    JPanel detailPanel = new JPanel();
    detailPanel.setLayout(new BorderLayout());
    return detailPanel;
    }

    public void jbInit() {
    JPanel panelData = new JPanel();
    panelData.setLayout(new BorderLayout());


    JScrollPane sp = new JScrollPane(panelData);
    sp.setVerticalScrollBarPolicy(sp.VERTICAL_SCROLLBA R_ALWAYS);
    sp.setHorizontalScrollBarPolicy(sp.HORIZONTAL_SCRO LLBAR_AS_NEEDED);
    sp.setPreferredSize(new Dimension(100,100));

    if (!panelProperties.getProperty("Title").trim().equa ls(""))
    panelData.add(createTitlePanel(), BorderLayout.NORTH);

    panelData.add(createDetailPanel(), BorderLayout.CENTER);

    this.setLayout(new BorderLayout());
    this.setBackground(Color.lightGray);
    this.setForeground(Color.lightGray);
    this.add(panelButton, BorderLayout.NORTH);
    this.add(sp, BorderLayout.CENTER);

    }

  2. #2
    Ho dato per scontato che gli oggetti che utilizzano questa struttura si inizializzano richiamando il metodo jbInit() che ho postato.

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: JPanel dentro JScrollPane non scrolla

    Originariamente inviato da lukeman83
    codice:
    sp.setPreferredSize(new Dimension(100,100)); 
                    
    this.add(sp, BorderLayout.CENTER);
    Settare un preferred size per lo scroll pane in questo caso è inutile (e non ha effetto). BorderLayout per la parte CENTER ignora e quindi non rispetta il preferred size del componente.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    e quindi potrei risolvere il problema senza modificare il layout?o devo cambiarlo necessariamente?

  5. #5

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.