Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    JDialog - pack() non funziona!

    Salve a tutti!
    Ho un problema con i jDialog, in sostanza quando ne apro uno la sua dimensione è di un cm quadrato
    ammennochè non setto io la dimensione attravero il setPrefferedSize() ma è quello che voglio evitare.

    In teoria la sua dimensione dovrebbe essere calcolata automaticamente tramite l'utilizzo del metodo pack() ma niente..

    Riporto la mia classe:

    codice:
    public abstract class AbstractDialog extends JDialog implements ActionListener, KeyListener{
    
    	public AbstractDialog(String title, String okButtonTitle, int width, int height)
    	{
    		super(MainFrame.getIstance());
    	
    		super.setTitle(this.title);
    		super.setModal(true);
    		
    		this.createPanel(); // Crea un pannello nella var di classe JPanel panel
    		
    		super.setContentPane(this.panel);
    		
    		int x = ((int)super.getParent().getSize().getWidth() - (int)super.getSize().getWidth()) / 2;
    		int y = ((int)super.getParent().getSize().getHeight() - (int)super.getSize().getHeight()) / 2;
    		super.setLocation(x, y);
    		super.setVisible(true);
    
    		super.validate();
    		super.pack();
    	}
    Ho eliminato le operazioni che non interessavo la classe.

    Qualcuno sa dirmi come risolvere??

    Grazie!!
    The Happyest Times
    Are The Ones
    That Are Shared

  2. #2

    SOLUZIONE

    RISOLTO:

    Bisogna eliminare il validate();

    E non so per quale assurdo motivo il setModal() deve essere fatto dopo il pack()
    The Happyest Times
    Are The Ones
    That Are Shared

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.