Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158

    Fine Progetto alcuni Quesiti

    Buon Giorno a tutti,si avvicina il completamento della mia primo progetto (ritengo abbastanza serio per le mia esperienza da autodidatta)mi stanno venendo in mente le varie problematiche del futuro ma prima di elencarle vi racconto un po come è fatto il mio progetto.

    In Primis Premetto che ho realizzato il tutto con Netbeans in quanto lo reputo migliore per quanto riguarda la realizzazione delle parte GUI (Anche se mi piace meglio eclipse ma windowBuilder mi ha dato problemi),la mia applicazione è strutturata in vari form tutti collegati a un database salvato nella stessa directory del progetto.Ho usato per ora tre librerie esterne non presenti nella directory del progetto(Jcalndar1.4 rs2xml , sqllite-jdbc) .

    Parto con i miei Quesiti:

    1)Ho un dubbio in futuro farò sicuramente delle migliorie al mio progetto,per quanto riguarda la parte collegata a java Ok penso solamente di aggiornare il programma e fin li va tutto bene,ma mi sorge il dubbio con il database, se dovrò aggiungere colonne a una tabella oppure una tabella nuova come potrò aggiornalo? Dovrò fare una parte di software che mi crei le tabelle ecc ecc,oppure devo importare tutto il database vecchio su quello nuovo?

    2) ho visto che per installare la mia applicazione basta trasformare tutto in *.jar (se avete altri sistemi migliori non esitate io sono qui per imparare) ma il dubbio è io vorrei installare la mia applicazione sul disco del Pc,invece salvare il database su un Nas o un disco del genere,come fate voi? Io ho una classe dedicata per la connessione al database,ogni volta che installate le applicazioni create la classe adatta,oppure create una parte di software dove l'nstallatore dichiara dove è il database.


    Grazie spero di non essere troppo noioso con domande contorte.

  2. #2

    Re: Fine Progetto alcuni Quesiti

    Originariamente inviato da Nio74
    Buon Giorno a tutti,si avvicina il completamento della mia primo progetto (ritengo abbastanza serio per le mia esperienza da autodidatta)mi stanno venendo in mente le varie problematiche del futuro ma prima di elencarle vi racconto un po come è fatto il mio progetto.

    In Primis Premetto che ho realizzato il tutto con Netbeans in quanto lo reputo migliore per quanto riguarda la realizzazione delle parte GUI (Anche se mi piace meglio eclipse ma windowBuilder mi ha dato problemi),
    Ti consiglio spassionatamente, di imparare manualmente a sviluppare la gui del programma (sopratutto se sei all'inizio), questo perchè in futuro quando magari dovrai creare una gui e per qualche motivo il tuo tool (che sia netbeans o altro poco importa) non supporta quel tipo di gui sarai nella cacca...
    la mia applicazione è strutturata in vari form tutti collegati a un database salvato nella stessa directory del progetto.Ho usato per ora tre librerie esterne non presenti nella directory del progetto(Jcalndar1.4 rs2xml , sqllite-jdbc) .

    Parto con i miei Quesiti:

    1)Ho un dubbio in futuro farò sicuramente delle migliorie al mio progetto,per quanto riguarda la parte collegata a java Ok penso solamente di aggiornare il programma e fin li va tutto bene,ma mi sorge il dubbio con il database, se dovrò aggiungere colonne a una tabella oppure una tabella nuova come potrò aggiornalo? Dovrò fare una parte di software che mi crei le tabelle ecc ecc,oppure devo importare tutto il database vecchio su quello nuovo?
    Tipicamente io quando rilascio una versione nuova dell'applicativo faccio in modo che sia esso ad effettuare tutti gli aggiornamenti riguardo le risorse, compreso il database.
    2) ho visto che per installare la mia applicazione basta trasformare tutto in *.jar (se avete altri sistemi migliori non esitate io sono qui per imparare) ma il dubbio è io vorrei installare la mia applicazione sul disco del Pc,invece salvare il database su un Nas o un disco del genere,come fate voi?
    Qui ci sono molte strade, potresti pensare di inserire un file .properties (o .ini) in cui vai ad inserire il percorso del database. Potresti salvare tale percorso in una variabile d'ambiente. Potresti fare in modo che sia l'applicativo a richiederlo all'utente.
    Io ho una classe dedicata per la connessione al database,ogni volta che installate le applicazioni create la classe adatta,oppure create una parte di software dove l'nstallatore dichiara dove è il database.
    Se tale classe la rendi parametrica, nel senso che tutti i parametri per esempio li vai a leggere da un file allora non serve creare una nuova classe per ogni installazione (sarebbe un pò da pazzi...)

  3. #3

    Re: Fine Progetto alcuni Quesiti

    Originariamente inviato da Nio74
    Buon Giorno a tutti,si avvicina il completamento della mia primo progetto (ritengo abbastanza serio per le mia esperienza da autodidatta)mi stanno venendo in mente le varie problematiche del futuro ma prima di elencarle vi racconto un po come è fatto il mio progetto.

    In Primis Premetto che ho realizzato il tutto con Netbeans in quanto lo reputo migliore per quanto riguarda la realizzazione delle parte GUI (Anche se mi piace meglio eclipse ma windowBuilder mi ha dato problemi),la mia applicazione è strutturata in vari form tutti collegati a un database salvato nella stessa directory del progetto.Ho usato per ora tre librerie esterne non presenti nella directory del progetto(Jcalndar1.4 rs2xml , sqllite-jdbc) .
    concordo con francesco.muia, io ormai ne ho sviluppato centinaia e se voglio proprio sbrigarmi uso Jigloo di Eclipse (è un pacchetto a parte) che mi dà l'impostazione iniziale, poi (visto che uso finestre con comportamenti dinamici) mi gestisco da me tutti i vari comportamenti che deve implementare.
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Volevo scrivere tutto il codice a mano ma con il poco tempo che ho, ho preferito scriverlo con netgear ma se mi dite così la riscrivero a mano esiste una buona guida, magari recente perché mi pare che quella del forum sia vecchia o sbaglio?

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    se devi fare cose di base, la guida sul forum va benissimo.
    se devi estendere componenti e farci chissà che, prova con google, c'è di tutto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Mi pare che la guida parli solo di AWT però non mi pare che parli di Swing

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2013
    Messaggi
    158
    Ho guardato male retifico si sono tutte e due,consigliate di studiare subito Swing o partire da AWT per poi passare a Swing

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    parti da awt, capisci l'idea di fondo, poi passa a swing.
    ricorda che puoi mischiare sempre componenti awt con componenti swing.

  9. #9
    Si mischiare ma non è affatto consigliabile.
    Se crei un JTextField non è consigliabile andare ad inserire un Label (in tal caso è consigliabile il JLabel)
    I computer sono incredibilmente veloci, accurati e stupidi.
    Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
    Insieme sono una potenza che supera l'immaginazione.

    A.Einstein

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    @Nio74: anche io ti suggerisco di acquisire bene le conoscenze per sviluppare interfacce Swing (AWT ormai è "old") scrivendo tutto il codice "a mano" (senza usare editor "visuali" insomma).

    Ti faccio un esempio, semplice anche se magari non significativo al 100%. Hai una applicazione che può aprire/mostrare svariate finestre differenti (potrebbero essere JFrame, JInternalFrame o anche solo semplici "pannelli" che vengono scambiati dentro un singolo JFrame .... non ha molta importanza).

    Ciascuna di esse ha una interfaccia utente particolare, con campi specifici, ecc... Magari tutte hanno in comune una cosa: un pannello orizzontale nella parte bassa che contiene una fila di pulsanti che fanno delle azioni. Ogni finestra ha un set di azioni differente, alcune azioni possono essere riutilizzate in più finestre, altre sono molto specifiche.
    E tu vuoi cercare di non riscrivere più volte le cose (creazione dei pulsanti, implementazione di listener, ecc...)

    Ecco come si potrebbe fare (molto abbozzato ma che si possa capire/intuire):

    codice:
    public abstract class BaseFrame extends JFrame {
        protected static final UIAction SAVE_ACTION = new UIAction("Save", Icons.SAVE);
        
        private JPanel buttonsPanel;
        
        public BaseFrame() {
            // ......
        }
        
        protected void addAction(UIAction uiAction) {
            // .... crea un JButton, lo inserisce in buttonsPanel e lo "associa"
            // logicamente a *questa* (uiAction) istanza di UIAction ....
        }
        
        protected abstract void handleAction(UIAction uiAction);
    }
    
    
    public class FrameA extends BaseFrame {
        protected static final UIAction CUSTOM_ACTION = new UIAction("xyz", Icons.XYZ);
        
        public FrameA() {
            // .... crea UI specifica ....
            
            addAction(SAVE_ACTION);
            addAction(CUSTOM_ACTION);
        }
        
        protected void handleAction(UIAction uiAction) {
            if (uiAction == SAVE_ACTION) {
                // .....
            } else if (uiAction == CUSTOM_ACTION) {
                // .....
            }
        }
    }
    Quel UIAction potrebbe essere una classe che contiene il testo del pulsante e magari un "id" di una icona o già direttamente un ImageIcon. Anche qui non ha molta importanza.

    Il punto è che la gestione del pannello dei pulsanti e dei pulsanti stessi è nella classe base BaseFrame. Far creare dei JButton in modo che al click un actionPerformed (implementato ad esempio in BaseFrame) faccia invocare handleAction con quel reference di UIAction potrebbe essere più o meno difficile. Ma sarebbe ben incapsulato e oltretutto scritto una volta sola.

    Con uno scenario del genere, un editor "visuale" della interfaccia grafica non solo non ti suggerisce nulla o aiuta in tal senso ma è anche più che possibile che ti metta i classici "bastoni tra le ruote".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.