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

    Suddividere meglio la grafica swing

    Ciao ragazzi ho una applicazione java swing, costruita in questo modo.

    JFrame principale che contiene un JPanel.

    Ho 3 funzionalita che condividono parte della grafica ma logica diversa.

    Ho 3 classi Panel1, Panel2, Panel3
    Queste 3 classi estendono una classe ClasseMetodi che contiene alcuni metodi che hanno in comune tipo ad esempio il settaggio di alcune proprietà piuttosto che inizializzazione di componenti.

    all'interno ho ripetuto lo stesso codice per realizzare la parte di grafica che hanno in comune. Così se per esempio decido di inserire una text o una label in quella parte devo fare copia incolla del codice anche nelle altre classi.

    Io volevo creare una ulteriore classe in cui andavo ad inserire solamente la parte di grafica che le tre clsasi Panel1,2,3 condividono di modo che la modifica la faccio li e viene riportata in automatico.

    Però non ho idea di come fare. Mi sapete aiutare????

    Io avevo provato a fare così

    ClasseMetodi
    Panel1 extends ClasseMetodi
    PanelHeader extends Panel1

    tutte le label, texr sono dichiarate come public nella ClasseMetodi. Vengono inizializzate nella classe Panel1 e vengono utilizzati successivamente nella classe PanelHeader che però se li trova tutti a null.

    Come posso fare??

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    guarda bisogna intanto separare la logica dalla grafica, in genere si fa tenuto conto che hai un elemento che fa la grafica e al suo interno si porta un oggetto che fa i mestieri.

    Mi spiego, hai da aggiungere un elemento al db??
    Avrai il tuo pulsante che prende i dati, li prepara, li valida...e poi avrai un wrapper su cui chiami la insert, è quello che si occupa della persistenza.

    Vantaggio: concentri il codice in un unico punto, rendendolo indipendente dall'input e dall'output (in teoria tu potresti loggare su System.out tutto e prendere tutto da System.in, il tuo wrapper deve funzionare).

    Se riesci a fare questa divisione, riesci a capire come organizzare meglio tutto
    RTFM Read That F*** Manual!!!

  3. #3
    Si io lo so che il concetto è questo.

    Però non riesco a creare questo pannello centrale in quanto non vede le varibili inizializzate.....

    Farò delle prove....

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    per aiutarti riscrivi la tua API in modo indipendente da dove prende l'input e da dove re-direzione l'output.

    Poi le inizializzazioni vengono dopo, tieni conto che è sempre questione di raggruppare proprietà comuni, che non c'entrano con la logica di business, ma che fanno parte della logica di GUI. Anche quelle ti assicuro che poi vengono da soli
    RTFM Read That F*** Manual!!!

  5. #5
    va bene ti ringrazio per i suggerimenti

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.