2009-07-27 7 views
1

J'ai un JFrame avec 2 JTextField s dedans. maintenant je veux faire de ce cadre une fenêtre modale, comment puis-je faire cela s'il vous plaît dire.faire cadre modal

Répondre

2

Vous devez utiliser un JDialog au lieu d'un JFrame.

+0

merci pour la réponse, mais je voulais demander cant je fais ce cadre pour ouvrir en mode modal? –

3

Simple Modal Dialog

De la javadoc de la classe Dialog

Une boîte de dialogue peut être modales (la valeur par défaut ) ou modal. Un dialogue modal est un qui bloque l'entrée à toutes les autres fenêtres toplevel dans l'application, à l'exception de toutes les fenêtres créées avec le dialogue en tant que leur propriétaire.

public class AboutDialog extends JDialog implements ActionListener { 
    public AboutDialog(JFrame parent, String title, String message) { 
    super(parent, title, true); 
    if (parent != null) { 
     Dimension parentSize = parent.getSize(); 
     Point p = parent.getLocation(); 
     setLocation(p.x + parentSize.width/4, p.y + parentSize.height/4); 
    } 
    JPanel messagePane = new JPanel(); 
    messagePane.add(new JLabel(message)); 
    getContentPane().add(messagePane); 
    JPanel buttonPane = new JPanel(); 
    JButton button = new JButton("OK"); 
    buttonPane.add(button); 
    button.addActionListener(this); 
    getContentPane().add(buttonPane, BorderLayout.SOUTH); 
    setDefaultCloseOperation(DISPOSE_ON_CLOSE); 
    pack(); 
    setVisible(true); 
    } 
    public void actionPerformed(ActionEvent e) { 
    setVisible(false); 
    dispose(); 
    } 
    public static void main(String[] a) { 
    AboutDialog dlg = new AboutDialog(new JFrame(), "title", "message"); 
    } 
}