17/06/12 14:49
foralobo
Salve, come da oggetto avrei l'esigenza di scrollare un JPanel all'interno di JScroolPane.
La cosa non è ardua. In linea di massima è semplice se consideriamo il codice (non è il codice del mio programma, riporto questo perchè è molto più semplice):
ecco ma io nel mio lavoro devo praticamente fare quello che c'è nel codice utilizzando perà "null" come layoutmanager al posto del GridLayout. Perchè?
Ho un Pannello contenitore che deve essere scrollato.
All'interno devo mettere dei piccoli pannelli di dimensione fissa (150x100)
Il gridlayout non va bene perchè mi ridimensiona i pannelli secondo lo spazio possibile e tramite altri layout manager non riesco a fare questo lavoro.
Ma in un Layout null, mi calcolo le varie coordinate dei pannelli e li inserisco. Piano piano questi pannelli vanno aumentando e finche sono un tot, ci entrano nel pannello contenitore. Quando non ci entrano più, sono sempre aggiunti al pannello ma non più visualizzati.
Ecco perchè ho bisogno di scrollare quel pannello.
Con layoutmanager settato a null, il JScroolPane non vuole saperne. E' come se non capisse la dimensione del pannello al suo interno.
Qualcuno può aiutarmi? grazie
La cosa non è ardua. In linea di massima è semplice se consideriamo il codice (non è il codice del mio programma, riporto questo perchè è molto più semplice):
import javax.swing.*; import java.awt.*; public class Frame01 { public static void main(String[] args){ JFrame frame = new JFrame("panel demo"); JPanel panel = new JPanel(); Container c = frame.getContentPane(); panel.setSize(100,100); panel.setLayout(new GridLayout(1000,1)); for(int i = 0; i<1000;i++) panel.add(new JLabel("JLabel "+i)); JScrollPane jsp = new JScrollPane(panel); c.add(jsp); frame.setSize(100,100); frame.setVisible(true); } }
ecco ma io nel mio lavoro devo praticamente fare quello che c'è nel codice utilizzando perà "null" come layoutmanager al posto del GridLayout. Perchè?
Ho un Pannello contenitore che deve essere scrollato.
All'interno devo mettere dei piccoli pannelli di dimensione fissa (150x100)
Il gridlayout non va bene perchè mi ridimensiona i pannelli secondo lo spazio possibile e tramite altri layout manager non riesco a fare questo lavoro.
Ma in un Layout null, mi calcolo le varie coordinate dei pannelli e li inserisco. Piano piano questi pannelli vanno aumentando e finche sono un tot, ci entrano nel pannello contenitore. Quando non ci entrano più, sono sempre aggiunti al pannello ma non più visualizzati.
Ecco perchè ho bisogno di scrollare quel pannello.
Con layoutmanager settato a null, il JScroolPane non vuole saperne. E' come se non capisse la dimensione del pannello al suo interno.
Qualcuno può aiutarmi? grazie
aaa