Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Colocar un JPanel en un JScrollPane
Enviado por Isabel el día 19 de agosto de 2004
Hola a todos, llevo una semana intentando colocar un JPanel en un JScrollPane y no me funciona, mi programa es como el siguiente. Si alguien puede ayudarme!!!!!
import java.awt.*;
import javax.swing.*;
public class ventana {
public static void main(String[] args) {
JFrame frame = new frame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
frame.setVisible(true);
}
}
class frame extends JFrame {
MiPanel panel;
frame (){
setSize(300,300);
panel = new MiPanel();
JScrollPane barras = new JScrollPane(panel);
barras.getViewport().setView(panel);
barras.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
barras.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
Container contenedor = getContentPane();
contenedor.add(barras);
}
}
class MiPanel extends JPanel {
MiPanel(){
setLayout(new BoxLayout(this,BoxLayout.LINE_AXIS));
setMaximumSize(new Dimension(300, 300));
setMinimumSize(new Dimension(0, 0));
}
public void paintComponent(Graphics g){
super.paintComponent(g);
setLayout(null);
g.drawRect(50,50,350,350);
revalidate();
}
}
public static void main(String[] args)
{
ventana frame = new ventana();
frame.setTitle("UN JPanel DENTRO DE UN JScrollPane");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600,300);
frame.setVisible(true);
}
}
Muchas gracias por contestarme, la verdad es que tu programa si que me funciona, pero al hacer un pequeño cambio,(dibujar en el panel), las barras me dejan de funcionar, sabes cual es la razon?
Hola. Yo tengo el mismo problema.
Estoy desarrollando con netBeans una aplicación que dentro de la ventana principal quiero que tenga 3 paneles (JScrollPane), dónde iré añadiendo contenidos dinámicamente. Lo más curioso es que haciendo una prueba previa todo me funcionó bien, pero en la versión "definitiva" hago lo mismo pero nada que no se me cargan las cosas en los JScrollPane. Os dejo el código