Problemas con el ScrollPane

El_Ronnie
09 de Septiembre del 2005
Tengo con problemas con dicho componente quiero crear uno para que pueda subir y bajar en una ventana principalmente , lo de los lados me da igual, aunque se que debe salir.
Lo que tengo que hacer es mostrar una ventana con unos datos dentro pero no es texto sino imagenes y solo lo debo hacer con AWT no con SWING ¿Alguien me podría ayudar? Porque consiguo crearlo se supone pero no pinta las imagenes dentro del ScrollPane que se crea que debo hacer ademas del Scroll ¿Debo crear algo dentro para poder pintar?
Me han dicho poner un Panel dentro del ScrolPane pero:
scrollPane1.setBounds(new Rectangle(0, 0, 400, 300));
panel1.setLayout(null);
scrollPane1.add(panel1);
this.add(scrollPane1);


Y luego para mostrar las imagenes uso el paint() que no se ni cuando se llama ni porque pero dentro de esta funcion le llamo y me pinta lo que le digo pero cuando qiero q pinte dentro del scrollPane bueno me jor dixo del panel que en el scrollpane no me pinta nada

g.drawImage(imagen,col+50,fila,panel1);

chuidiang
09 de Septiembre del 2005
Hola:

La forma correcta de hacerlo sería la siguiente.

Haces una clase que herede de java.awt.Canvas y redefines el método paint(Graphics). Ahi dibujas lo que quieras en el Graphics que te pasan en el método.

Redefine también el método getPreferredSize() para que devuelva el tamaño que tú quieras que tenga el Canvas.

Luego añades el Canvas al Scroll y debería funcionar.

Tienes un ejemplo del Canvas en http://www.geocities.com/chuidiang/java/graficos/simple/grafico_simple.html
y tienes un ejemplo de lo que quieres hacer en http://members.lycos.co.uk/chuidiang/ejemplos/JScrollPane/JScrollPane.html, pero está en swing, no en awt.

Se bueno.

chuidiang
09 de Septiembre del 2005
Un pequeño tema que se me olvidaba, en JScrollPane, para que funcione bien hay que llamar a setViewPortView() en vez de a add(). No sé si en ScrollPane (de awt) hay un método similar en vez de el add().

Se bueno.