Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    JPanel in uno ScrollBar

    Intanto, ciao a tutti. Mi sono iscritto oggi.

    Poi, passo a esporvi il mio problema: mi è stato chiesto di fare una lista e mettere a fianco a ogni elemento della lista 3 pulsantini.

    Ora, l'unico metodo, tra quelli che ho tentato, che mi da un risultato consiste nel creare un secondo JPanel, settando il layout a null e metterlo in uno scroller, in modo che quando la lista si allunga, mi compare la barretta di lato.

    Il problema è che, nonostante gli setti la dimensione del JPanel, questo prenda esattamente la dimensione dello scroller, e quindi la barra di scorrimento non appare mai.

    Come posso fare per far apparire la barra di scorrimento quando il JPanel è più grande del jScrollPane?

    Oppure, scusate si vi appiccico 2 domande in un unico forum, come posso fare per fare una lista con 3 bottoncini a fianco ciascun elemento della lista?

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Reiuky
    Registrato dal
    Jul 2008
    Messaggi
    371

    Risolto

    Per i posteri....

    I pezzetti di programma sono questi:

    Creazione del subpanel

    subPanel = new JPanel();
    subPanel.setLayout( new BoxLayout( subPanel, BoxLayout.Y_AXIS) );


    Riempimento della lista
    for( count = 0; count < labels.length; count++)
    {

    provString = //elemento

    elemPanels[count] = new JPanel();
    elemPanels[count].setLayout(new FlowLayout(FlowLayout.LEFT, 10, 0));
    elemPanels[count].setMaximumSize( new Dimension (500,10) );
    if( count % 2 == 0)
    {
    elemPanels[count].setBackground( new Color( 255, 255, 255 ) );
    }
    else
    {
    elemPanels[count].setBackground( new Color( 200, 200, 200 ) );
    }


    labels[count] = new JLabel( (count + 1) + ". " + provString);
    elemPanels[count].add( labels[count] );
    labels[count].setPreferredSize( new Dimension(400, 10));

    confirmButton[count] = new JButton( "Conferma" );
    elemPanels[count].add( confirmButton[count] );
    confirmButton[count].setPreferredSize( new Dimension(20, 10));

    deleteButton[count] = new JButton( "Elimina" );
    elemPanels[count].add( deleteButton[count] );
    deleteButton[count].setPreferredSize( new Dimension(20, 10));

    viewButton[count] = new JButton( "Visualizza" );
    elemPanels[count].add( viewButton[count] );
    viewButton[count].setPreferredSize( new Dimension(20, 10));

    subPanel.add( elemPanels[count] );

    }

    e scroller

    scroller = new JScrollPane(subPanel,
    JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
    JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    panel.add(scroller);
    scroller.setBounds( 10, 10, xSize - 25 , ySize - 50);

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.