Vantaggio dell'uso di Swing su AWT [chiuso]

4

Perché Swing è preferito rispetto ad AWT?

Quale componente Swing potrebbe essere usato per riprodurre un video su di esso?

    
posta Mohammad Faisal 05.10.2011 - 07:11
fonte

3 risposte

10

AWT è più vecchio di Swing e supporta solo un insieme limitato di componenti. Altrimenti devi scrivere il tuo come ad esempio tabelle / griglie dati (tipicamente, dovrai scrivere il tuo video player, buona fortuna!). Swing è più "moderno" in quanto gli ingegneri Sun hanno imparato dai loro errori AWT e hanno fatto qualcosa di meglio, anche se più complesso. Sia Swing che AWT sono basati su eventi, quindi se conosci la programmazione basata sugli eventi sarai a casa. La curva di apprendimento è un po 'più accentuata con Swing a causa del maggior numero di classi disponibili, anche se praticando un po' con i tutorial si dovrebbe andare rapidamente bene.

Dai un'occhiata a questa presentazione IBM su SWT, Swing & AWT , è davvero una buona lettura. Anche AWT vs Swing .

Per sapere come riprodurre video su Java: link

    
risposta data 05.10.2011 - 07:59
fonte
5

I componenti AWT sono essenzialmente uno strato sottile sopra i controlli della GUI del sistema operativo nativo. Per disegnare ad esempio una casella di controllo, i componenti AWT stavano chiamando il SO sottostante. Tale approccio ha causato due problemi:

  • la stessa app aveva un comportamento GUI un po 'diverso in un sistema operativo diverso
  • il superamento delle differenze note ha causato il gonfiamento del codice AWT e l'IIRC un po 'problematico

A causa di questa connessione tra il componente AWT e il controllo OS sottostante, i controlli AWT sono stati definiti "heavyweight". Al contrario, Swing offre i cosiddetti controlli "leggeri". Sono puramente Java, non hanno alcuna dipendenza dal sistema operativo sottostante e sostanzialmente "disegnano se stessi" usando le primitive Java2D (pixel, linee, pennelli e così via). Questo approccio ha diversi vantaggi, ma ciò che è più importante - risolve i problemi in sospeso AWT sopra menzionati.

Per quanto riguarda il componente Swing per la riproduzione di video, non penso che ce ne sia uno, almeno tra i componenti Swing standard. Puoi volere google per uno, perché probabilmente è già stato scritto. Puoi anche consultare API JMF , ma penso che tu possa devi codificare alcuni bit prima di poter visualizzare il video.

    
risposta data 05.10.2011 - 09:47
fonte
2

1) AWT è preistorico FrameWork ed è basato sul sistema operativo Windows

2) Swing è GUI FrameWork basato su AWT, tutto JComponent eredita o implemetna parte di metodi utili da componenti ATW, sicuro se esiste,

3) Swing implementa alcuni nuovi JComponent, ad esempio JTable, meglio dalla tabella di confronto qui

4) per video e multimedia ci sono molte API personalizzate, (mai usato) ma penso che sia basato su AWT Canvas

5) poiché a partire dall'aggiornamento JDK 6 12 e JDK7 build 19 versioni , prometti che puoi combinare componenti AWT e Swing, ma non ti suggerisco di farlo, i componenti sono pittore nel contenitore correttamente, ma esiste ancora la stessa differenza tra componenti pesanti e leggeri come prima, e devi calcolare con quello

    
risposta data 05.10.2011 - 10:10
fonte

Leggi altre domande sui tag