Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106

    [JAVA] Metodo finestre sovrapposte

    Ciao ragazzi,

    sto creando una applicazione che all'avvio presenta diverse opzioni, tra cui la possibilità di effettuare il login. Se l'utente clicca dunque sul button login compare la finestrella per inserire user name e pwd.

    A questo punto vorrei che l'utente possa solo operare sull finestra appena aperta e non possa cliccare sulla finestra di avvio.

    Esiste un metodo per fare questo?

    Ciao e grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,326

    Re: [JAVA] Metodo finestre sovrapposte

    Originariamente inviato da iako
    Ciao ragazzi,

    sto creando una applicazione che all'avvio presenta diverse opzioni, tra cui la possibilità di effettuare il login. Se l'utente clicca dunque sul button login compare la finestrella per inserire user name e pwd.

    A questo punto vorrei che l'utente possa solo operare sull finestra appena aperta e non possa cliccare sulla finestra di avvio.

    Esiste un metodo per fare questo?

    Ciao e grazie
    Sì.
    Si chiamano "Finestre di Dialogo modali"... e in Java si chiamano, appunto, JDialog.

    Dai un'occhiata alla documentazione della classe JDialog (javax.swing), ai suoi costruttori e al metodo setModal().

    Fai anche una ricerca nel forum indicando JDialog, troverai tante discussioni in merito.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] Metodo finestre sovrapposte

    Originariamente inviato da iako
    A questo punto vorrei che l'utente possa solo operare sull finestra appena aperta e non possa cliccare sulla finestra di avvio.

    Esiste un metodo per fare questo?
    Sì, "dialog modali". In Swing si crea un JDialog con il flag 'modal' a true.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106
    D'accordo ragazzi....grazie tante

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    106
    Ragazzi in pratica dovrei costruire una finestrella con login e pwd.
    Ho fatto in questo modo:

    public class DialogLogin extends JDialog {

    public DialogLogin() {
    createControlPanel();
    setTitle("Schedule - Login");
    setModal(true);
    setLocation(400,150);
    setSize(300,180);
    setDefaultCloseOperation(HIDE_ON_CLOSE);
    setVisible(true);
    }

    public void createControlPanel(){
    JPanel controlPanel = new JPanel();
    controlPanel.setLayout(null);

    labelUserName.setBounds(...);
    labelPassword.setBounds(...);
    textUserName.setBounds(...);
    textPassword.setBounds(...);
    btn_login.setBounds(...);

    controlPanel.add(labelUserName);
    controlPanel.add(labelPassword);
    controlPanel.add(textUserName);
    controlPanel.add(textPassword);
    controlPanel.add(btn_login);

    getContentPane().add(controlPanel);

    btn_login.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e)
    {
    }
    });
    }

    e per utilizzare la JDialog creata:

    new DialogLogin();

    Credo che tutto sia corretto, pero' guardando un po' in giro ho trovato cose piu complesse, con l'utilizzo di JOptionPane.
    Ho dimenticato qualcosa?

    Ciao e grazie

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.