Salve ragazzi,

ho creato un JPanel che implementa ComponentListener.

public class MainPanel2 extends JPanel implements ComponentListener{
.....
....


ovviamente ho dovuto scrivere anche i metodi

codice:
public void componentHidden(ComponentEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void componentMoved(ComponentEvent e) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void componentResized(ComponentEvent e) {
		// TODO Auto-generated method stub
		reseizeComponent(this.getSize());
	}

	@Override
	public void componentShown(ComponentEvent e) {
		// TODO Auto-generated method stub
		
	}

ho implementato solo il metodo componentResized.

In pratica ogni qual volta ridimensiono il JPanel, vorrei ridimensionare alcuni componenti.

il metodo resizeComponent è questo:

codice:
public void reseizeComponent(Dimension d){
		dTabella = new Dimension();
		dTabella.setSize(dimensioneComponenti.jScrollPane2(d));
		
		jScrollPane2.setPreferredSize(dTabella);
		jScrollPane2.setViewportView(ricetteTabella);
		 jScrollPane2.getViewport().add(ricetteTabella);
		fonButtonT = new Font("Century Gothic",Font.PLAIN, 5);
		ricetteTabella.setFont(fonButtonT);
		getRootPane().validate();
		getRootPane().repaint();
		jScrollPane2.revalidate();
		jScrollPane2.repaint();
		ricetteTabella.validate();
		ricetteTabella.repaint();
		
		ricetteTabella.updateUI();
		
		panel1.repaint();
		System.out.println("metodo preso "+d);
	}
allora passo la dimensione nuova del JPanel è questa è corretta.
Poi ridimensiono un jScrollPane2 che contiene un jtable. il quale dovrebbe rimpizziolirsi ma questo non accade il metodo viene eseguito senza generare errori però non cambia nulla.

cosa sbaglio?