2012-12-21 7 views
6

Sto lavorando con un codice che scrive l'output animato sul desktop utilizzando le funzioni AWT e Swing. Disegna usando la grafica 2D e rende il testo nei caratteri.Porting di un'app Java che utilizza AWT e Swing per disegnare filmati sul lato server

Questo codice può utilizzare Java Media Framework per salvare i file video animationto.

vorrei questo codice in un ambiente sul lato server puro, per lavorare con un'interfaccia utente Web. Il codice del disegno può essere eseguito all'interno del contenitore del servlet o all'esterno come un programma della riga di comando. (Oppure potrei scegliere di non utilizzare un contenitore servlet e utilizzare invece i nuovi modi di eseguire server Web Java dalla riga di comando.)

Posso utilizzare le funzioni di disegno AWT e Swing senza avviare X Window System sul server?

+0

si vuol dire che si desidera eseguire il codice senza aprire container Java? –

+0

Voglio eseguire il codice senza aprire il sistema X Window o di una GUI. Posso farlo funzionare in un contenitore o direttamente come app per console. – mparaz

risposta

11

L'articolo Using Headless Mode in the Java SE Platform delinea le limitazioni imposte su queste applicazioni.

Come esempio concreto JFreeChart è un programma grafico ampiamente utilizzato in entrambi i contesti desktop e servlet. Per questi ultimi, uno qualsiasi dei diversi ChartUtilities possono essere utilizzati al contenuto di flusso resi in un ambiente senza testa.

In alternativa, considerare Java Web Start per distribuire un'applicazione Swing esistente, ad esempio la demo JFreeChart vista here.

Addendum: questo forum Oracle thread suggerisce che Java Media Framework può effettivamente lanciare HeadlessException; una soluzione suggerita è quella di specificare un particolare valore di proprietà di sistema:

-Dawt.toolkit=sun.awt.HeadlessToolkit 

Questo JFreeChart forum thread suggerisce Xvfb o vnc come alternative quando la modalità headless non è disponibile.

+0

Grazie. Funzionerà anche per lo spostamento dell'animazione? Spiacente non era chiaro nella mia descrizione (ora modificata). – mparaz

+0

Ho elaborato sopra, anche se gradirei altri risultati dispositive. – trashgod

+0

Grazie! Sembra che AWT/Swing abbia bisogno di un sistema di grafica fasullo con cui lavorare. – mparaz

Problemi correlati