|
|
|
|
Strumenti |
27-05-2007, 14:16 | #1 |
Senior Member
Iscritto dal: Jul 2004
Messaggi: 681
|
[JAVA (grafica)] Uso di librerie grafiche alternative
salve a tutti, ultimamente mi sto divertendo con le interfacce grafiche che java mette a disposizione, sto usando netbeans per la realizzazione grafica (faccio prima che a scriverla a mano) e vorrei sapere una cosa, dato che la grafica delle swing e delle awt non è che sia molto bella, vorrei sapere se c'è la possibilità di usare altre librerie grafiche, non so anche quelle di windows andrebbero bene, lo so che usando swing il codice e portabile e indipendente da os al 100% ma proprio non mi piace la grafica swing, qualcuno di buona volontà saprebbe darmi una mano a capire se è possibile usare altre librerie grafiche e come ?
ringrazio anticipatamente per la risposta, aiutiamoci a crescere in questo fantastico mondo della programmazione...
__________________
intel i5 2500K , asrock z68 pro3 gen3, 8GB corsair vengance 1600Mhz, sapphire ati HD7770, SSD Crucial M4 128GB, OCZ GXS 600W, case v6000 thermaltake. |
27-05-2007, 14:32 | #2 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Non capisco cosa ci sia di così orrendo nell'aspetto dei componenti Swing.
Io sono assolutamente privo di senso estetico ma non mi pare poi tutta 'sta schifezza. E considerando che questo è uno dei migliardoni di aspetti possibili direi che Swing è messo piuttosto bene.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
27-05-2007, 15:36 | #3 |
Senior Member
Iscritto dal: Jul 2004
Messaggi: 681
|
scusa ma proprio adesso ho capito come fare per usare le altre librerie grafiche di java, pensavo che esistesse solo un tipo di grafica (che poi è la più brutta),
perciò chiedevo aiuto...
__________________
intel i5 2500K , asrock z68 pro3 gen3, 8GB corsair vengance 1600Mhz, sapphire ati HD7770, SSD Crucial M4 128GB, OCZ GXS 600W, case v6000 thermaltake. |
27-05-2007, 15:40 | #4 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7064
|
prova a usare le SWT che si integrano alla perfezione nel desktop in uso (al contrario delle SWING). fanno parte di eclipse ma si possono scaricare liberamente e utilizzare senza eclipse http://www.eclipse.org/swt/
io le ho trovate davvero ottime nel modo in cui sono strutturate, inoltre sembrano più reattive di SWING |
27-05-2007, 15:50 | #5 | |
Senior Member
Iscritto dal: Jul 2004
Messaggi: 681
|
Quote:
tipo come faccio a creare una gui con gli oggetti dell'immagine del secondo post ?
__________________
intel i5 2500K , asrock z68 pro3 gen3, 8GB corsair vengance 1600Mhz, sapphire ati HD7770, SSD Crucial M4 128GB, OCZ GXS 600W, case v6000 thermaltake. |
|
27-05-2007, 16:03 | #6 |
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7064
|
dai un'occhiata a questo materiale che è linkato dalla pagina ufficiale di SWT
http://www.sys-con.com/story/?storyid=37463&DE=1 http://www.sys-con.com/story/?storyid=37509&DE=1 http://www.cs.umanitoba.ca/~eclipse/ poi vabbè.. l'indispensabile javadoc http://help.eclipse.org/help31/nftop...api/index.html |
27-05-2007, 18:25 | #7 |
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7026
|
@k0nt3: mi interessa approfondire l'argomento SWT per un mio progetto. in particolare un punto chiave di cui mi interessa sapere è: quali dipendenze comporta ad un'applicazione Java l'uso di SWT? perché se devo trainarmi appresso 10 DLL per Windows e altrettanti .so per Linux (rinunciando alla platform independence) allora io me ne starei tranquillino con Swing... ^^
ed inoltre come mai dici che SWT si integra meglio nel desktop della piattaforma? |
27-05-2007, 19:15 | #8 | ||
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7064
|
Quote:
Quote:
invece se usi swing si nota subito che l'aspetto dell'applicazione non ci azzecca niente con il resto del desktop infine mi piace molto come sono organizzate le librerie.. è una maniera un pò diversa da swing ma ci si abitua in poco tempo e si capisce subito che sono molto potenti. ci sono alcune features carine come il fatto che puoi settare e gettare oggetti arbitrari in qualsiasi widget. può sembrare una cosa stupida ma è di un'utilità assurda a volte. ad esempio mi è capitato di avere una tabella sincronizzata con un DB, ma per motivi di leggibilità ho dovuto omettere alcune colonne tra cui la chiave primaria della tabella. ora.. se non ci fosse stata questa possibilità di associare dati arbitrari a qualsiasi widget avrei dovuto fare le acrobazie (poco eleganti) per risalire alla chiave di quella riga, ed era anche un'operazione piuttosto frequente diciamo che le trovo paragonabili alle QT qui ci sono un pò di risposte http://www.eclipse.org/swt/faq.php |
||
27-05-2007, 19:26 | #9 | |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12068
|
Quote:
però il Visual Editor di Eclipse IMHO fa ben + skifo dell'editor di NetBeans dalla 5.5 in su... Certo ke se te le disegni a mano non te ne frega niente.. ma se lui usa l'editor di netbeans non so come si possa trovare con il visual editor (ke tra l'altro non supporta nemmeno adeguatamente l'ottimo FormLayout di SWT....)
__________________
|
|
27-05-2007, 19:27 | #10 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12068
|
e IMHO sono anche ben + veloci e reattive rispetto a swing
EDIT: ops.. l'avevi già scritto tu
__________________
|
27-05-2007, 20:04 | #11 |
Senior Member
Iscritto dal: Jul 2004
Messaggi: 681
|
allora mi occorre un aiutino diretto senza link ad altre pagine, ora sto usando eclipse con il window builder, ho creato due applicazioni una con swt e una con swing, adesso voglio creare un file .jar sia per l'applicazione swing che swt.
Già ho provato ad esportare i progetti con eclipse ma quando mi creà il file.jar non mi funziona dicendo che non trova la main class(anche se lo indicata nel manifest prima di creare il jar). Con netbeans sembra più facile fare questo basta fare build project che ti fa una cartella dove ci sono i vari file tra cui il jar che basta cliccare per avviare l'applicazione, ma dato che preferisco di gran lunga eclipse... Mi date una mano mi sto esaurendo....
__________________
intel i5 2500K , asrock z68 pro3 gen3, 8GB corsair vengance 1600Mhz, sapphire ati HD7770, SSD Crucial M4 128GB, OCZ GXS 600W, case v6000 thermaltake. |
27-05-2007, 20:06 | #12 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Per le SWT ti servono quattro librerie dinamiche più il jar.
Sono un fork (ostile) delle AWT che IBM rilasciò nel momento in cui Sun decise di abbandonare il paleolitico creando Swing. Che, per inciso, è il più avanzato framework per la gestione di interfacce utente ad oggi mai creato. Le AWT/SWT funzionano delegando al desktop manager di sistema la creazione del componente e questa è la ragione per cui l'aspetto dei componenti è identico a quello delle applicazioni native. Ad alcuni SWT piace e personalmente sono dell'idea che uno debba scegliere le librerie con cui si sente più produttivo. Chiunque percepisca una differenza di prestazioni tra Swing ed SWT dovrebbe tentare anche di levare un calice di sangue al cielo: c'è caso che si trasformi in vino. I deboli di stomaco possono ripiegare sulla moltiplicazione di pan carrè e scatolette di tonno.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
27-05-2007, 20:19 | #13 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12068
|
kazz..
ecco perchè l'altro giorno ho moltiplicato il pane e i pesci senza rendermene conto
__________________
|
27-05-2007, 20:51 | #14 | ||
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7026
|
Quote:
Quote:
scusatemi ma alla platform independence totale non rinuncio |
||
27-05-2007, 21:15 | #15 |
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12068
|
ma vedi ke anche con diamonds nella versione WEB START (ke è rimasta sul mio portatile e non ho mai rilasciato in effetti ) tutte le dll di lwjgl erano incapsulate in un jar e poi spettava al jnlp descriptor smazzarsi le librerie giuste a seconda dei SO
__________________
|
27-05-2007, 23:42 | #16 | |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Quote:
Class-Path: swt.jar (non ricordo se il file jar si chiami swt.jar o sia swtX_Y_Z.jar). Dopodichè lancia il jar con la linea di comando: se capita qualche errore dovrebbe darti un messaggio più significativo di "Couldn't find main class".
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
29-05-2007, 12:11 | #17 | |
Senior Member
Iscritto dal: Jul 2004
Messaggi: 681
|
Quote:
io riesco ad usare solo questo tipo di interfacccia :http://gfx.developpez.com/tutoriel/j...ges/swing8.png
__________________
intel i5 2500K , asrock z68 pro3 gen3, 8GB corsair vengance 1600Mhz, sapphire ati HD7770, SSD Crucial M4 128GB, OCZ GXS 600W, case v6000 thermaltake. |
|
29-05-2007, 12:29 | #18 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
L'interfaccia che hai va bene così, nel senso che la struttura c'è. Per cambiare l'aspetto usi.. Swing . Quello che devi fare è semplicemente usare un diverso LookAndFeel. Uno che mi ingrifa parecchio è substance:
https://substance.dev.java.net/ Scarica "substance 3.3 library" https://substance.dev.java.net/servl...263&folderID=0 E' un jar (substance.jar). Ora, supponendo che la classe principale del tuo programma si chiami it.ulver.Main per usare l'aspetto predefinito di substance lanci la tua applicazione con: java -cp .;substance.jar -Dswing.defaultlaf=org.jvnet.substance.SubstanceLookAndFeel it.ulver.Main Qui ho supposto che il jar "substance.jar" si trovi nella stessa cartella da cui lanci il comando "java". Lo stesso fai con altri look and feel: ce ne sono a carrettate in giro per il web.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:20.