Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da ragazzo92 Visualizza il messaggio
    mi sono fermato in una cosa apparentemente stupida
    Che però non è affatto "banale", come leggerai sotto tra poco ...

    Quote Originariamente inviata da ragazzo92 Visualizza il messaggio
    praticamente ho un JMenu che ha tre JMenuItem fissi di cui uno lo uso per permettere all utente di aggiungere suoi JMenuItem...il mio problema è che nel momento in cui chiudo l interfaccia i sottomenu aggiunti dall utente non restano
    Ovviamente non restano ... se non fai tu qualcosa di esplicito in tal senso!

    Se è l'utente che può creare nuove voci di menù, allora queste sono delle "configurazioni" (impostazioni, settaggi .. chiamali come vuoi) dell'utente e come tali andrebbero quindi salvate da qualche parte in maniera persistente, in modo che al prossimo avvio della applicazione vengano lette ed applicate. Concettualmente come fanno tanti software dotati di "configurazioni/preferenze" che sicuramente conosci e/o usi.

    Ma ci sono alcuni aspetti da considerare. Il primo e più critico: NON basta nel tuo caso creare un nuovo JMenuItem con un nome scelto dall'utente. Questo lo hai fatto basilarmente con la riga:

    menu.add(new JMenuItem(a),0);

    Non basta perché su quel nuovo JMenuItem ci devi anche registrare un listener! In modo che alla azione della voce venga eseguito "qualcosa". Quindi un punto importante da capire/stabilire (e non l'hai spiegato): COSA devono fare le voci di menù create dall'utente?

    Il secondo punto è appunto come rendere "persistenti" queste configurazioni. Tecnicamente/teoricamente sarebbe possibile usare la serializzazione degli oggetti per salvare su uno stream (file) direttamente gli oggetti JMenuItem. Ma ti dico subito: NON farlo.
    Dovresti "modellare" bene le informazioni che servono per avere una configurazione "logica" di ciascuna voce. Sicuramente un String con il testo e poi ... "altro" ma devi innanzitutto rispondere alla domanda di prima.

    E tutto questo ti assicuro che non è una cosa "stupida" (nel senso di "banale"). Anzi, se finora hai fatto X, allora per realizzare un sistema di configurazione dei menù "dinamico" gestito dall'utente dovrai studiare/impegnarti almeno un 30X.
    Ultima modifica di andbin; 10-08-2016 a 21:17
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Tag per questa discussione

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.