2010-05-28 10 views
22

Dans mon projet actuel, nous devons développer une application de bureau en java.Pouvons-nous développer une très belle interface utilisateur en balançoire et sinon quelles sont les alternatives

Actuellement, nous avons une application de bureau très basique écrite en swing et l'équipe n'a pas une bonne connaissance du swing. Pouvons-nous créer une très belle interface utilisateur en swing?

Devrions-nous utiliser JavaFX pour créer l'application de bureau?

Quelles sont les autres alternatives pour cela?

+0

Copies possibles: http://stackoverflow.com/questions/2592207/how-to-improve-look-and-feel-of-java-swing-gui et http://stackoverflow.com/questions/559559/ java-swing-lookfeel – Gnoupi

+0

JavaFX est à peu près mort. – helpermethod

+1

@OliverWeiler pas du tout! Le script JavaFX est mort, JavaFX 2.1 est plus vivant que jamais! – eversor

Répondre

25

Swing est très flexible en ce qui concerne le look-and-feel et vous pouvez certainement faire de très belles applications avec Swing.

Je recommande le livre Filthy Rich Clients par Chet Haase et Romain Guy si vous voulez apprendre à faire de belles applications graphiques Swing.

+2

+1 pour avoir mentionné Filthy Rich Clients. Il n'y a pas de meilleur livre pour comprendre les subtilités de Swing. –

+0

Je ne savais pas que Swing pouvait être aussi belle jusqu'à ce que j'ai vu les échantillons dans le livre. En effet l'auteur travaille maintenant à la frontière d'Android. – OscarRyz

7

Vous pouvez faire en sorte qu'il ressemble à peu près à ce que vous voulez. Surtout si vous écrivez votre propre apparence. Je l'ai fait moi-même avec des panneaux semi-transparents et des boutons simplistes.

Jetez un oeil aux captures d'écran à:

http://www.taranfx.com/best-java-swing-look-and-feel-themes-professional-casual-top-10

Nimbus est un nouveau look qui gagne en popularité, et il semble imo très professionnel:

enter image description here

+3

Qu'est-ce qui se passe avec ces barres de défilement ?! –

5

Vous pouvez certainement créer de superbes interfaces utilisateur dans Swing - des applications telles que NetBeans et IntelliJ IDEA l'ont prouvé parmi tant d'autres.

La seule alternative Swing est SWT (boîte à outils Eclipses), mais ce n'est pas portable comme Swing et pas aussi flexible. Il offre, cependant, des performances plus rapides et l'utilisation de composants natifs, ce qui pourrait être ce que certains veulent réellement.

Il existe également des liaisons Java pour la plupart des boîtes à outils graphiques existantes, par exemple Java for Gnome et quelqu'un peut les trouver intéressantes. Je préfère cependant la portabilité extrême de Swing, l'adoption de MVC, l'aspect plug-in et la convivialité, la disponibilité de nombreuses bibliothèques tierces avec des composants supplémentaires (SwingX, JIDE, ...) et la facilité d'utilisation.

Btw pour des résultats optimaux en Swing, il est essentiel de choisir un bon gestionnaire de disposition - je vous recommande de jeter un oeil au tout-puissant MiG layout.

8

Découvrez http://www.pushing-pixels.org/. Kirill est l'auteur de Substance qui fournit une tonne de nouvelles options de look and feel pour Swing. Here est une entrée de blog qui montre un peu de ce qui est possible avec Swing. Il y avait un lien vers sa présentation de 2007 à Java One, mais malheureusement, le lien ne fonctionne plus.

0

De votre réponse, ce n'est pas très clair quel est votre problème. Une solution simple, mais souvent suffisante, consiste à modifier l'aspect et la convivialité de votre application par rapport à l'apparence par défaut du système (de sorte que Swing ressemble à une application native).Tout ce que vous devez faire est d'insérer le code suivant quelque part avant tout de l'interface utilisateur est créé/montré (si vous ne savez pas où, placez-le comme la première dans votre méthode principale):

try { 
    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 
} catch (Exception e) { 
// exit application, log or ignore exception 
} 
2

Don » t appuyez sur JavaFX 1 avec un bargepole. JavaFX 2 semble très prometteur, avec Oracle disant qu'il va l'intégrer étroitement à Java 8. Il a une très belle API derrière elle, il est graphiquement accéléré, vous pouvez le peaufiner à peu près comment vous s'il vous plaît en utilisant CSS3 et par défaut ça a l'air plutôt sympa aussi. Le seul inconvénient est qu'il n'est pas encore disponible pour Linux - mais si vous cherchez à développer une application qui sortira dans les deux prochaines années, ou si vous n'êtes pas trop préoccupé par l'attente pour le support multi-plateforme, c'est une bonne option à considérer.

+0

de quoi avez-vous parlé, pouvez-vous être un peu concret s'il vous plaît, +1 pour supprimer par comunity comme non_answer – mKorbel

+0

@mKorbel Vous ne savez pas si je vous suis? Je suis en train de dire que JavaFX 2.0 peut créer de belles applications, et cela peut valoir la peine d'être envisagé puisque Oracle semble prendre cela au sérieux maintenant. – berry120

+0

bien de bon rêve (s), mais ce projet ressemble à se figer comme Java7, pas de progrès – mKorbel

Questions connexes