Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47

    Gestire jframe e jmenubar

    Ciao ragazzi devo proporvi un piccolo problema che pero mi sta facendo perdere fin troppo tempo e confido nella vostra disponibilità per risolverlo.

    Allora: ho creato un una jframe composta da una Jmenubar composta da varie voci. in corrispondenza della prima voce (Anagrafica) viene giu un menu a tendina composto da 6 jmenuitem. fin qui tutto bene! il problema stupido che mi affligge è che quando vado a cliccare su una delle jmenuitem dovrebbe aprirsi una nuova finestra che vada a sovrastare il jframe iniziale, ma invece non succede nulla. vi posto il pezzettino di codice che credevo dovesse fare questa operazione

    Aziende.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    Pannello_Azienda azienda = new Pannello_Azienda();
    azienda.setVisible(true);
    }
    });

    Pannello_azienda tanto per essere chiari è la jpanel che voglio che venga aperta al click sulla voce del menu mentre Aziende è la jmenuitem su cui vado a cliccare.
    Vi ringrazio in anticipo per la collaborazione
    Alex

  2. #2
    Ciao ioalex86,
    Se la classe Pannello_Azienda estende JPanel esse deve essere aggiunta ad un container, esempio il content pane del jframe. Se vuoi che al click sull'item ti venga aperta una nuova finestra allora devi estendere JFrame e non JPanel.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    proviamo subito....ti faccio sapere
    Alex

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    allora... utilizzando il jframe riesco a gestire la situazione come vorrei, ma se volessi utilizzare il jpanel? il mio problema ora è che ho Pannello_Azienda, che estende JPanel, che è pieno di oggetti e sarebbe una rottura reinserirli un ad uno nel frame. posso riutilizzare questo Panel per avere lo stesso risultato?
    Alex

  5. #5
    Come ti ho precedentemete detto il JPanel per essere visualizzato deve essere contenuto in un container di un JFrame o comunque in un container attaccato ad un JFrame. Quindi la soluzione al tuo problema potrebbe essere semplicente, creare una nuova classe che estende JFrame e in quest'ultima inserire il tuo JPanel in modo da non dover cambiare troppo il codice.

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    ok! è andato!...un po striminzita purtroppo come soluzione ma,date le premesse, è passabile....ti ringrazio
    Alex

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    ragazzi ho un dubbio. dovendo creare per ogni voce del mio menu un Jpanel diverso, posso utilizzare un unico Jframe nel quale richiamare un diverso Jpanel a seconda della voce che scelgo? oppure devo creare altrettanti Jframe per ogni Jpanel??
    Alex

  8. #8
    Ciao ioalex86,
    Puoi tranquillamente creare tanti jPanel in base alle voci del menu ed visualizzarli in maniera più oppurtuna, anche se nulla ti vieta di creare tanti jFrame per ogni pannello, dipende dal risultato che vuoi ottenere

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47

    aggiornare jframe

    ciao raga... qualcuno sa dirmi se esiste un metodo che mi permetta di aggiornare lo stato degli oggetti contenuti in un frame??
    la mia situazione è questa:
    ho il frame1 che contiene un jmenubar che a sua volta contiene un jmenuitem (item1).
    quando clicco su item1 si apre un nuovo jframe (frame2) che si sovrappone a frame1 e contemporaneamente rende se stesso (mi riferisco a item1) disabilitato.
    quando clicco sul bottone exit all'interno di frame2 vorrei che succeda questo:
    - si chiuda frame2, in frame1 ritorni ad essere abilitato item1
    quello che invece succede è:
    - si chiude frame2, forse item1 torna abilitato, ma in frame1 item1 resta disabilitato.
    io credo che il problema si riferisca al fatto che non riesco ad aggiornare le componenti di frame1
    ho utilizzato i seguenti metodi ma senza successo: validate(),repaint()

    PS ho provato a distruggere frame1 e ricrearlo, sono riuscito ad ottenere il risultato che volevo ma non voglio assolutamente utilizzare questo metodo
    ovviamente sono molto ben accettate soluzioni alternative
    Alex

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 © 2026 vBulletin Solutions, Inc. All rights reserved.