2010-02-04 10 views
6

Hi StackOverflow FamigliaCome fare un buon design gui in Swing

ho sviluppare un'applicazione Java Swing, ma voglio migliorare il design dei miei telai Swing. Cerco questo problema su google, ma non riesco a trovare una soluzione adeguata. Per favore condividi le tue esperienze e opinioni riguardo a questo problema.

p.s. Forse questa domanda non è buona per te ma è importante per me e altri come me

+0

Spiegarlo meglio, per favore. Che effetto vuoi ottenere? – oneat

+3

Quali sono i tuoi bisogni specifici o cosa desideri migliorare? l'usabilità? velocità? guardare e sentire? altri? – OscarRyz

risposta

16

andare a comprare questo libro:

http://filthyrichclients.org/images/book.png

Dalla pagina di descrizione:

rich client Filthy sono applicazioni che sono così graficamente ricchi che trasudano cool. Essi succhiano l'utente dall'inizio e si aggrappano a loro con una stretta mortale di eccitazione. Fanno l'utente a dire ai propri amici delle applicazioni.

In breve, fanno in modo che l'utente goda della propria esperienza applicativa. Quando è stata l'ultima volta che ti è piaciuto usare un'applicazione software?

Forse hai bisogno di altri clienti ricchi e sporchi nella tua vita.

Leggilo e comprendi fino a ottenere un'interfaccia utente che ti piace.

:)

5

Joel Spolsky ha un grande articolo: User Interface Design for Programmers. Non affronta specificamente Swing, ma spiega come progettare interfacce utente semplici ed efficienti per un pubblico non programmatore.

1

Bene, ti darò la mia esperienza. Preferisco SWT & Eclipse in generale, semplicemente perché si integra molto più bene ed è così flessibile con i punti di estensione e quant'altro, ma a volte apprezzo che è eccessivo.

Quando utilizzo lo swing, quasi sempre utilizzo GridBagLayout a meno che la forma non sia molto semplice. Ciò è dovuto al fatto che la maggior parte delle GUI che disegno o esperienza contengono molti elementi che non sono necessariamente disposti in un flusso o in uno stile di tabella: gridbaglayoutout offre la possibilità di disegnare l'interfaccia in modo che i mi piace di java + ridimensionare se necessario, oppure è possibile impedire che ciò accada.

cose

speciali Io fanno uso di:

GridBagConsts.insets = new Insets(2,2,2,2); 

Questo aggiunge imbottitura a qualsiasi cella nella GridBagLayout, facendo sembrare più simile a un programma progettato per Gtk/da MS che qualcosa ho buttato insieme.

try 
{ 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch(Exception e) 
{ 
    System.out.println("Error setting native LAF: " + e); 
} 

Impostazione l'aspetto grafico a quella del sistema - io non sono un fan di qualunque sia il tema integrato (metallo) è e l'integrazione con il sistema è molto più amichevole.

Questo è tutto per le regole difficili e veloci. Le cose che suggerisco di guardare:

Oltre a questo, è molto specifica per l'applicazione e si Avrai bisogno di leggere sul design generale dell'interfaccia utente. In generale, aiuta a usare controlli e strumenti integrati, ad esempio quelli che assomigliano al sistema. La Libreria di classi Java, ad esempio, include File Choosers: http://java.sun.com/docs/books/tutorial/uiswing/components/filechooser.html che, quando impostati sul sistema LAF, appaiono come selettori di Windows o Gnome (-ish). L'adozione di misure per acquisire familiarità con ogni altra applicazione renderà, a sua volta, più facile l'utilizzo dell'applicazione.

+0

Invece di GridBagLayout, userei MigLayout. http://www.miglayout.com/ Funziona sia in SWT che Swing. – Nate

1

prendere anche uno sguardo al JSR-296: che è un tentativo di formalizzare alcuni degli aspetti di mettere insieme un programma, come il modo di gestire le risorse fasci, come al fuoco dei 'compiti' (sfondo e modale, ecc.).

L'attuale (e alcune versioni precedenti) di Netbeans ha una procedura guidata per creare app JSR-296. ("Applicazioni desktop").

http://jcp.org/en/jsr/detail?id=296
Problemi correlati