PDA

View Full Version : [java] Jpanel in un JScrollPane


gaglioppo
14-03-2006, 17:58
ciao amici,

ho creato un Jpanel in questo modo ,come unione di tanti JEditorPane:

JPanel pan = new JPanel();
pan.setMaximumSize(new Dimension(400,400));
pan.setSize(400,400);

....
pan.add(jepanel2,BorderLayout.CENTER);
pan.add(jepanel3,BorderLayout.CENTER);
pan.add(jepanel4,BorderLayout.CENTER);
ecc....

poi ho messo tutto in un jscrollpane:

JScrollPane scroll = new JScrollPane();
scroll.getViewport().add(pan);

in pratica ho tutti gli elementi del pannello disposti su un'unica riga, da sinistra a destra e una barra di scroll orizzontale.

Io invece vorrei ridimensionare al massimo a 600pixel il japnel e far scorrere il jscrollpane verticalmente!!!

Dove sbaglio?
Ho provato:
scroll.setMaximumSize(new Dimension(400,400));
scroll.setPreferredSize(new Dimension(666,666));
scroll.setSize(400,400);
e lo stesso su jpanel!

ma niente!

franksisca
14-03-2006, 18:31
posta il codice completo della classe ;)

gaglioppo
15-03-2006, 08:25
final Container contentPane = getContentPane();

JScrollPane scroll = new JScrollPane();

scroll.setMaximumSize(new Dimension(400,400));
scroll.setPreferredSize(new Dimension(666,666));
scroll.setSize(400,400);

contentPane.add(scroll, BoxLayout.Y_AXIS);

JPanel pan = new JPanel();
pan.setMaximumSize(new Dimension(400,400));
pan.setSize(400,400);
pan.repaint();
pan.setVisible(true);

jepanel1= new JEditorPane("text/html", nt.getTag());
jepanel2= new JEditorPane("text/html", nt.getTag());
jepanel3= new JEditorPane("text/html", nt.getTag());
jepanel4= new JEditorPane("text/html", nt.getTag());
jepanel5= new JEditorPane("text/html", nt.getTag());
jepanel6= new JEditorPane("text/html", nt.getTag());
jepanel7= new JEditorPane("text/html", nt.getTag());
jepanel8= new JEditorPane("text/html", nt.getTag());
jepanel9= new JEditorPane("text/html", nt.getTag());

pan.add(jepanel1,BorderLayout.CENTER);
..
...
..

scroll.getViewport().add(pan).setLocation(66, 88);
scroll.repaint();


...ma ho già provato un sacco di combinazioni.

Magari sbaglio proprio approccio.
In pratica devo prendere tutti quei JEditorPane e visualizzarli su una pagina con lo scroll a destra....

franksisca
15-03-2006, 09:10
Io di solito passo l'elemento da scrollare direttamente nel costruttore, prova così.....se mi vine in mente altro mi faccio vivo.

gaglioppo
15-03-2006, 09:32
stesso risultato, nn cambia assolutamente nulla,
almeno all'apparenza

mi chiedo, ma esiste un equivalente nel <br> di html nel comporre
i pannelli?

franksisca
15-03-2006, 09:36
tgarda, un modo ci sarebbe. c'è un layout che lavora su righe e colonne, puoi imostare colonne 1 e righe quante te ne servono.
mi sembra che il layout sia GridLayout.