Java - No funciona el scrollPane

 
Vista:
sin imagen de perfil
Val: 63
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

No funciona el scrollPane

Publicado por Camilo (20 intervenciones) el 28/05/2020 00:10:06
Buenas, tengo un problema, y es que cargo un panel, con 2 label los cuales tienen 2 gráficas, el panel lo añado a un JScrollPane, pero pasa lo siguiente:


Captura-de-pantalla-95

Como ven, el scroll aparece, pero no esta "habilitado".
Aquí el código del panel donde se encuentran los componentes:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public class panel_Graficas extends JPanel {
 
	private static final long serialVersionUID = 1L;
	private ChartPanel panelGrafica;
	private JFreeChart grafico;
	private DefaultCategoryDataset datos;
	private JLabel fondo;
	private JLabel fondo2;
	private JScrollPane scroll;
	private JPanel panel;
 
	public panel_Graficas() {
		setVisible(false);
		setLayout(null);
		inicializarComponentes();
	}
 
	public void inicializarComponentes() {
		panel= new JPanel();
		panel.setLayout(null);
		panel.setBounds(30, 10, 420, 400);
		add(panel);
 
		scroll= new JScrollPane(panel);
		scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
		scroll.setBounds(30, 10, panel.getWidth()-30, panel.getHeight()-10);
		scroll.setMinimumSize(new Dimension(panel.getWidth()-30, panel.getHeight()-10));
		scroll.setPreferredSize(new Dimension(panel.getWidth()-30, panel.getHeight()-10));
		add(scroll);
 
		fondo = new JLabel();
		fondo.setBounds(0, 0, 440, 300);
		fondo.setLayout(null);
		panel.add(fondo);
 
		fondo2 = new JLabel();
		fondo2.setBounds(0, 280, 440, 300);
		fondo2.setLayout(null);
		panel.add(fondo2);
		scroll.setViewportView(panel);
	}
 
	public void mostrarGraficaClientes(int[] numParejas, String[] nombreClientes, int media, int mediana, int moda) {
		graficaCLientes(numParejas, nombreClientes, media, mediana, moda);
		panelGrafica = new ChartPanel(grafico);
		panelGrafica.setBounds(0, 0, fondo.getWidth()-80, fondo.getHeight()-60);
		fondo.add(panelGrafica);
	}
 
	public void mostrarGraficaCreditos(int[] credClientes, String[] nombreClientes, int media, int mediana, int moda) {
		graficaCreditos(credClientes, nombreClientes, media, mediana, moda);
		panelGrafica = new ChartPanel(grafico);
		panelGrafica.setBounds(0, 0, fondo2.getWidth()-80, fondo2.getHeight()-60);
		fondo2.add(panelGrafica);
	}
}

De antemano Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

No funciona el scrollPane

Publicado por Franklin (179 intervenciones) el 28/05/2020 00:32:02
has intentado en colocar la propiedad
VERTICAL_SCROLLBAR_AS_NEEDED
HORIZONTAL_SCROLLBAR_AS_NEEDED

scroll.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);


otra cosa sería re dimensionar el panel que visualiza el scroll, sucede que inicialmente tiene una dimensión pero al inicial los gráficos este cambia. Me ha pasado que si no fuerzo el repaint, revalidate, o la actualización del valor el panel solo muestra lo posible en su dimensión predefinida.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 63
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

No funciona el scrollPane

Publicado por Camilo (20 intervenciones) el 28/05/2020 01:03:23
si, con el ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED lo que pasa, es que directamente no me muestra el scroll.
El repintado no me funciona.
no se, pero creo que tal vez, el scroll no está tomando el panel lo suficientemente grande, como para necesitar el scroll. pero no se.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 63
Ha aumentado su posición en 2 puestos en Java (en relación al último mes)
Gráfica de Java

No funciona el scrollPane

Publicado por Camilo (20 intervenciones) el 28/05/2020 01:53:26
ya lo solucione, y fue añadiendo un layout (en este caso un BoxLayout) al panel que contiene las gráficas, tal vez con el layout null no tomaba como necesario el uso del scroll (no se si sea está la razón). pero así ya me muestra el scroll vertical, lo deje con ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Franklin
Val: 456
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

No funciona el scrollPane

Publicado por Franklin (179 intervenciones) el 28/05/2020 17:24:39
Listo, siempre se agradece colocar la respuesta al encontrarla; (Y)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar