codice:
public class modelloDiFattura extends JInternalFrame implements InternalFrameListener
{
    private static JInternalFrame modello;
    
    public modelloDiFattura() {
        modello = new JInternalFrame("Modello Fattura",true);
	modello.setPreferredSize(new Dimension(650,310));
		
	Container cModello = modello.getContentPane();
	cModello.setLayout(new BorderLayout());
        
        ImageIcon foto = new ImageIcon("top.png");
        
        JLabel label = new JLabel(foto);
	label.setSize(640,147);
        label.setBackground(new Color(255,255,255));

        JTextField campo = new JTextField("prova di campo di testo");
        campo.setPreferredSize(new Dimension(640,153));
        
        cModello.add(label, BorderLayout.NORTH);
        cModello.add(campo, BorderLayout.CENTER);
        
	modello.addInternalFrameListener(this);
        modello.pack();
	modello.setVisible(true);
	modello.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
        fatture.aggiungiFinestraInterna(modello);
    }
...
}
codice:
public static void aggiungiFinestraInterna(JInternalFrame intFra) {
	JInternalFrame FrameDaAggiungere = intFra;
	mydesktop.add(FrameDaAggiungere);
}

il primo codice č il costruttore della classe che mi crea la finestra interna e il 2° č il codice del metodo della classe principale con cui aggiungo la finestra al JDesktopPane

il problema č che la finestra interna non č di 650 x 310 ma viene grande come tutto il frame iniziale e, se provo a ridimensionarla, appena lascio il tasto sinistro del mouse mi torna alle dimensioni originali!

qualcuno saprebbe aiutarmi?

č strano dato che il codice l'ho copiato da un altro programma che avevo fatto tempo fa in cui tutto funziona bene!