Java Look and Feel (L&F) [fermé]


Je développe une application de bureau avec Java Swing pour mon usage personnel.J'ai besoin d'une belle apparence pour mon application. Comment puis-je le faire en utilisant Java ou une API tierce?

Author: Joyal Augustine, 2010-10-17

7 answers

Vous pouvez essayer L & F que je développe - WebLaF
Il combine trois parties requises pour un développement réussi de l'interface utilisateur:

  • Multi-plateforme re-stylable L & F pour les applications Swing
  • Grand ensemble de composants d'oscillation étendus
  • Divers services publics et gestionnaires

Les fichiers Binaires: https://github.com/mgarin/weblaf/releases
Source: https://github.com/mgarin/weblaf
Licences: GPLv3 et Commerciales

Quelques exemples montrant à quoi ressemblent certains composants WebLaF: Certains des composants WebLaF

La principale raison pour laquelle j'ai commencé avec un tout nouveau L&F est que la plupart des L&F existants manquent de flexibilité - vous ne pouvez pas les re-styliser dans la plupart des cas (vous ne pouvez changer que quelques couleurs et activer/désactiver certains éléments d'interface utilisateur dans le meilleur des cas) et/ou il n'y a C'est encore pire quand il s'agit de style de composants personnalisés/3rd party-ils n'ont pas l'air similaire à d'autres composants stylisés par certains L&F spécifiques ou même totalement différent - cela rend votre application peu professionnelle et désagréable.

Mon objectif est de fournir un L & F entièrement personnalisable avec un pack de composants supplémentaires largement connus et utiles (par exemple: sélecteur de date, table arborescente, volets ancrables et document et beaucoup d'autres) et des gestionnaires et utilitaires utiles supplémentaires, ce qui réduira la quantité de code requise pour intégrer rapidement WebLaF dans votre application et aidez à créer des interfaces utilisateur impressionnantes en utilisant Swing.

 60
Author: Mikle Garin, 2014-05-13 09:15:13

Vous pouvez trouver beaucoup de thèmes Synthetica ici.

 13
Author: Keshan, 2016-08-31 22:29:40

Voici également une excellente ressource avec une liste de look et de sensations gratuits, skinnable, commerciaux et abandonnés: http://www.javootoo.com/

 9
Author: Anthony, 2012-08-05 16:20:40

Vous pouvez également utiliser JTattoo (http://www.jtattoo.net / ), il a quelques thèmes sympas qui peuvent être utilisés.

Téléchargez simplement le jar et importez-le dans votre chemin de classe, ou ajoutez-le en tant que dépendance maven:

<dependency>
        <groupId>com.jtattoo</groupId>
        <artifactId>JTattoo</artifactId>
        <version>1.6.11</version>
</dependency>

Voici une liste de certains des thèmes sympas qu'ils ont

 4
Author: diegeelvis_SA, 2015-04-14 10:16:55

+ 1 pour Synthetica ,je l'utilise combiné avec Jide{[2] } depuis quelques années et j'ai été très satisfait de l'interface utilisateur: (Captures d'écran de notre interface utilisateur pour avoir des idées sur la façon dont cela fonctionne dans la pratique si vous utilisez les deux ensemble.)

 1
Author: Emily Crutcher, 2015-02-26 22:09:11

Voici le code qui crée une boîte de dialogue qui permet à l'utilisateur de votre application de changer l'apparence en fonction des systèmes de l'utilisateur . Alternativement, si vous pouvez stocker l'apparence souhaitée sur votre application, ils pourraient être "portables", ce qui est le résultat souhaité.

   public void changeLookAndFeel() {

        List<String> lookAndFeelsDisplay = new ArrayList<>();
        List<String> lookAndFeelsRealNames = new ArrayList<>();

        for (LookAndFeelInfo each : UIManager.getInstalledLookAndFeels()) {
            lookAndFeelsDisplay.add(each.getName());
            lookAndFeelsRealNames.add(each.getClassName());
        }

        String changeLook = (String) JOptionPane.showInputDialog(this, "Choose Look and Feel Here:", "Select Look and Feel", JOptionPane.QUESTION_MESSAGE, null, lookAndFeelsDisplay.toArray(), null);

        if (changeLook != null) {
            for (int i = 0; i < lookAndFeelsDisplay.size(); i++) {
                if (changeLook.equals(lookAndFeelsDisplay.get(i))) {
                    try {
                        UIManager.setLookAndFeel(lookAndFeelsRealNames.get(i));
                        break;
                    }
                    catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException ex) {
                        err.println(ex);
                        ex.printStackTrace(System.err);
                    }
                }
            }
        }
    }
 1
Author: WIll, 2017-01-22 00:24:57