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

    rendere non editabile un menu

    Ciao ragazzi sto avendo un problema con la gestione dei jframe in java. Praticamente ho un frame che all'interno contiene un JMenuBar.cliccando su una voce del menu si apre un secondo jframe che sovrasta il primo.il mio problema è cercare di rendere non editabile il menu che si trova sul primo jframe, in maniera tale da non per mettere di aprire infiniti jframe uguali.qualcuno sa suggerirmi un metodo? fino ad ora ho cercato di trovare un metodo che mi rendesse non editabile il jmenubar ma senza esito.se qualcuno cmq ha da proporre un'idea migliore che si faccia pure avanti...
    Alex

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Sei costretto ad utilizzare un JFrame o puoi usare anche JDialog?
    In questo caso ti basterebbe passare un parametro booleano al costruttore. http://download.oracle.com/javase/6/...,%20boolean%29


    In caso contrario, se non riesci a rendere non cliccabile il menù tramite i metodi dell'api, potresti usare una variabile booleana.

    codice:
    public void actionPerformed(ActionEvent ae) {
      if(clicked) return;
      else {
         clicked = true;
        // apertura frame
      }
    Questo però sulla voce interessata all'apertura del frame. Ovviamente clicked deve essere reso = false quando chiudi il frame.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    potresti spiegarmi meglio quel pezzettino di codice che mi hai postato? purtroppo devo utilizzare necessariamente un frame perche al suo interno sono presenti una decina di textfield da compilare.in ogni caso la soluzione della variabile booleana l'avevo gia pensata ma non sono riuscito ad attuarla.io onestamente sono riuscito a rendere non editabile la voce del menu che mi fa aprire il frame (questo per evitare l'apertura di tanti frame uguali), solo che non riesco a farla ritornare editabile quando vado a chiuderlo, perche non riesco a gestire il comportamento di quell'oggetto dal frame che sto chiudendo.qui è il problema...spero di essermi spiegato...
    Alex

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Oltre alle soluzioni proposte da Patrick Jane, puoi anche affidarti al normale metodo di abilitazione/disabilitazione di un menu.

    Puoi ottenere il JMenuItem che è stato attivato all'interno del actionPerformed() e renderlo non attivo. Dovrai poi renderlo nuovamente attivo quando vorrai che l'utente ci possa cliccare sopra di nuovo:

    codice:
    public void actionPerformed(ActionEvent ae) {
       // Ottengo il menu che è stato cliccato
       JMenuItem mnu = (JMenuItem) ae.getSource();
    
       // Lo disabilito
       mnu.setEnabled( false );
    
       // Poi faccio quello che devo fare...
       ...
    }
    PS: Non esistono menu "editabili"... esistono, invece, menu attivi, inattivi e "selezionabili".


    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

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    47
    per ora sto provando ad utilizzare una classe gestisciFrame che mi gestisce tutti frame che apro, cosi delego ai suoi metodi la disattivazione degli oggetti che apro.vi faccio sapere come va a finire....
    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.