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

    Problemi con i frame

    Allora, premetto che questo è il mio primo messaggio in questo forum e quindi colgo l'occasione per salutare tutti!
    Io conosco un pochino di Java, ma ora ho un problemino che non riesco a risolvere!

    Sto facendo un'agenda in java, ma ho alcuni problemi con i frame.
    In pochi parole:
    Ho creato un frame (quello principale del programma), con i menù, e una barra con pusanti, ho impostato gli eventi dei menù e quando clicco su nuovo mi si apre l'altro frame con i JLabel per l'aggiunta dei dati del nuovo contatto, il problema mi sorge nel momento in cui voglio chiudere il secondo frame.
    Ho messo anche qui i pulsanti con alcuni eventi, ma non so come impostare il pulsante "chiudi", vorrei che mi chiudesse solo il secondo frame (non mi va di farlo chiudere solo con la "X"). Non so se mi sono spiegato bene, cmq ringrazio in anticipo per tutte le risposte.
    Mac user, Ubuntu user, Firefox supporter, Open Source supporter...

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

    Re: Problemi con i frame

    Originariamente inviato da rvinside
    Sto facendo un'agenda in java, ma ho alcuni problemi con i frame.
    In pochi parole:
    Ho creato un frame (quello principale del programma), con i menù, e una barra con pusanti, ho impostato gli eventi dei menù e quando clicco su nuovo mi si apre l'altro frame con i JLabel per l'aggiunta dei dati del nuovo contatto, il problema mi sorge nel momento in cui voglio chiudere il secondo frame.
    Ho messo anche qui i pulsanti con alcuni eventi, ma non so come impostare il pulsante "chiudi", vorrei che mi chiudesse solo il secondo frame (non mi va di farlo chiudere solo con la "X"). Non so se mi sono spiegato bene, cmq ringrazio in anticipo per tutte le risposte.
    Innanzitutto per la seconda finestra sarebbe più appropriato usare un dialog, non un frame. Così almeno sarebbe "modale" rispetto al frame principale, se crei la dialog passando come owner il frame.

    Per quanto riguarda la 'X' di chiusura di JFrame/JDialog, dovresti anche impostare il "default close operation", vedi il metodo setDefaultCloseOperation().

    Poi si è liberi di chiudere la finestra anche in qualunque altro modo, es. mettendo un pulsante "Chiudi" su cui è registrato un ActionListener e che se premuto fa un dispose() sulla finestra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Il setDefaultCloseOperation l'ho messo nel primo frame, cmq grazie per il consiglio del dialog, ora provo subito!
    Mac user, Ubuntu user, Firefox supporter, Open Source supporter...

  4. #4
    Volevo chiedere un'altra cosa sempre riguardante questo post aperto da me, ho trovato il modo per chiudere un frame o un dialog con un pulsante
    codice:
    coseButton.addActionListener(new ActionListener(){pubic void actionPerformed(ActionEvent e){info.setVisibe(false);}});
    (era una cosa semplicissima ma come al solito non ci avevo pensato )posso continuare ad usare questo metodo o mi può creare problemi?

    L'altra domanda è: siccome vorrei poter creare un database che tenga in memoria tutti i contatti, mi conviene usare un frame o un dialog? e che differenza sostanziale ci trovo?
    Mac user, Ubuntu user, Firefox supporter, Open Source supporter...

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da rvinside
    posso continuare ad usare questo metodo o mi può creare problemi?
    Se vuoi chiudere un frame con un pulsante, se ti va bene è ok.
    Tieni solo sempre presente la differenza tra fare un "hide" (setVisible(false)) e fare un "dispose" (dispose()).
    Un hide nasconde solo visivamente la finestra ma il componente (frame o dialog che sia ..) mantiene ancora tutte le risorse (handle, memoria, ecc...) necessarie per la finestra.
    Un dispose nasconde la finestra e libera tutte le risorse. Può essere di nuovo resa visualizzabile ricostruendo le risorse e ciò viene fatto tramite un pack() o un setVisible(true).

    Originariamente inviato da rvinside
    L'altra domanda è: siccome vorrei poter creare un database che tenga in memoria tutti i contatti, mi conviene usare un frame o un dialog? e che differenza sostanziale ci trovo?
    http://java.sun.com/docs/books/tutor...ts/dialog.html
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Grazie per la pronta risposta, ma la differenza sostanziale tra un frame e un diaog la sapevo , quelo che chiedevo (ma mi sono espresso male io, scusate ) è se facendo un dialog con 4 JLabel e 1 JCombobox ho problemi nell'inserimento di questi dati su un database.
    Mac user, Ubuntu user, Firefox supporter, Open Source supporter...

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.