Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446

    Swing e Awt,in cosa si differenziano e per cosa l'una è più adatta rispetto l'altra

    Salve ragazzi,come da topic vorrei sapere le differenze tra le due,quale conviene studiare e per cosa.E vorrei leggere anche alcune vostre esperienze,per cosa avete scelto di usare le awt e per cosa le swing

    Grazie

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Swing e Awt,in cosa si differenziano e per cosa l'una è più adatta rispetto l'alt

    Originariamente inviato da energie
    Salve ragazzi,come da topic vorrei sapere le differenze tra le due,quale conviene studiare e per cosa.E vorrei leggere anche alcune vostre esperienze,per cosa avete scelto di usare le awt e per cosa le swing
    A dire il vero ce n'è anche un terzo: SWT, il framework di Eclipse.

    http://en.wikipedia.org/wiki/Abstract_Window_Toolkit

    http://en.wikipedia.org/wiki/Swing_%28Java%29
    http://it.wikipedia.org/wiki/Swing_%28Java%29

    http://en.wikipedia.org/wiki/Standard_Widget_Toolkit

    http://www-128.ibm.com/developerwork...y/os-swingswt/
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ti racconto la favoletta, poi dietro ci saranno implicazioni diverse, più profonde etc etc.

    AWT è la prima libreria "grafica" di java, c'è sempre stata e chiaramente, per rendere java un degno concorrente di VB e quant'altro, ci infilarono dentro tutte le classi necessarie per creare applicazioni a finestre, form etc etc. Quella parte di awt, che è anche quella che si usa (o si usava) più spesso è rimasta praticamente intonsa dalla prima edizione (ok, sistemato bugs e quant'altro). Dopo tot anni, alla Sun si sono accorti che effettivamente tali controlli messi a disposizione da awt erano "brutti", "scomodi" e decisamente obsoleti... sviluppando un nuovo package con controlli più performanti, graficamente accattivanti e altre belle storielle del genere, sconsigliando in definitiva ai programmatori di continuare ad utilizzare le classi di awt con analoghi in swing. Morale della favola, Frame, Window, Label, Button etc etc che trovi in AWT sono rimaste nei JDK/JRE per retrocompatibilità e non verranno mai eliminate. SWING è la scelta principe per le applicazioni odierne (usare awt vs usare swing? è come chiedere usare canoa o aereo per andare in america?). Ripeto, nulla ti vieta, se non il "buon senso" di utilizzare awt, l'unica vera accortezza da avere è il non mescolare awt con swing.

    Esperienze personali: fin quando c'erano solo le awt ho usato quelle, quando hanno inserito swing, ho smesso di usare awt. Passaggio poco traumatico: nella maggior parte dei casi, la differenza sta in una maggiore flessibilità... all'atto pratico: un import diverso, componenti customizzabili molto più facilmente, e basta ricordarsi di mettere una J davanti ai nomi dei vecchi componenti

    Per cosa è più adatta una rispetto all'altra... il VS dovrebbe già averti risposto

    "Pecca" di swing: quando la SUN ha diffidato Microsoft dal produrre la sua VM (ancora in giro se ne trovano, ma sono ferme al JDK 1.3 o giù di lì), vincendo la causa (la VM non verrà mai più aggiornata né viene dato supporto per programmi scritti esplicitamente per VM), Microsoft non aveva scritto niente perché swing ed altre librerie (fondamentalmente, tutto quello che si trova in javax più altre cose) e pertanto, chi ancora usa la VM non può lanciare applicazioni che utilizzino SWING. La VM di Microsoft credo sia andata in pensione nel 2001 o nel 2000, quindi non te ne devi preoccupare, visto che non è software standard.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    capisco..vi ringrazio per le risposte ...quindi le swing sono più performanti e sono uguali su tutti i sistemi a differenza delle awt che sono specifiche per ogni OS....domanda,c'è un modo per creare un programma con le swing mantenendo la grafica dell'OS su cui gira?ad esempio io uso Mac OS X,mi piacerebbe che le mie applicazioni create in swing avessero lo stesso aspetto grafico(Metal/aqua) invece del violaceo comune ad altre applicazioni java,è possibile?avete un link a riguardo?Grazie ancora per le vostre risposte

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da energie
    quindi le swing sono più performanti e sono uguali su tutti i sistemi a differenza delle awt che sono specifiche per ogni OS
    No alt.

    I componenti AWT sono detti "heavyweight" perché fanno uso di componenti nativi del S.O. Dal momento che su ogni S.O. ad esempio il componente per un campo di testo si può comportare diversamente o avere funzionalità extra o specifiche, la Sun ha deciso di sfruttare solo le caratteristiche di ogni componente che sono comuni a tutti i S.O.

    Al contrario i componenti Swing sono detti "lightweight", non usano componenti nativi del S.O. perché "si disegnano" interamente per conto loro (tramite codice Java).

    Per tali motivi, i componenti Swing sono un po' più "pesanti" da gestire rispetto ad AWT, visto che tutta la gestione/disegno dell'interfaccia è fatta con codice Java.
    Questo però ha il vantaggio che un componente Swing può essere "disegnato" allo stesso modo su vari S.O.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    capisco,e per quanto riguarda la grafica?è possibile modificarla come si vuole?o si deve tenere sempre lo stesso aspetto violaceo?

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Ci sono dozzine di Look&Feel diversi da applicare: java di suo te ne propina qualcuno, in giro per la rete ne trovi altri (ad esempio, su jgoodies)
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da energie
    capisco,e per quanto riguarda la grafica?è possibile modificarla come si vuole?o si deve tenere sempre lo stesso aspetto violaceo?
    No, puoi applicare uno specifico "Look & Feel" e questa è una funzionalità, se ci pensi, fattibile solo per Swing. Con AWT non sarebbe possibile perché solo il S.O. sa come disegnare i suoi componenti nativi.

    Java mette a disposizione nel suo framework standard alcuni L&F:
    - Metal (un L&F multipiattaforma che è il default)
    - CDE/Motif
    - Windows (su Windows)

    Ma ne puoi trovare molti altri, la gestione del L&F è una architettura "a plug-in".
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente di HTML.it L'avatar di energie
    Registrato dal
    Apr 2003
    Messaggi
    446
    quindi sarebbe possibile anche crearne di propri?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da energie
    quindi sarebbe possibile anche crearne di propri?
    Certo ... a patto di avere le conoscenze appropriate sull'argomento ..... (io non le ho di certo)
    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.