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?
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?
Réponses:
Il y a beaucoup de possibilités pour les LAF:
java -Dswing.defaultlaf=javax.swing.plaf.nimbus.NimbusLookAndFeel -jar MyApp.jar
-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel
paramètre à l'invocation java.
Vous pouvez essayer L&F que je développe - WebLaF
Il combine trois parties nécessaires pour un développement d'interface utilisateur réussi:
Binaires: https://github.com/mgarin/weblaf/releases
Source: https://github.com/mgarin/weblaf
Licences: GPLv3 et commerciales
Quelques exemples montrant à quoi ressemblent 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 modifier dans la plupart des cas (vous ne pouvez changer que quelques couleurs et activer / désactiver certains éléments de l'interface utilisateur dans le meilleur des cas) et / ou il n'y a que des moyens peu pratiques de le faire. C'est encore pire en ce qui concerne le style des composants personnalisés / tiers - ils ne ressemblent pas à d'autres composants stylisés par un L&F spécifique ou même totalement différents - ce qui donne à votre application un aspect non professionnel 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 bien d'autres) et des gestionnaires et utilitaires utiles supplémentaires, qui réduiront le quantité de code nécessaire pour intégrer rapidement WebLaF dans votre application et aider à créer des interfaces utilisateur impressionnantes à l'aide de Swing.
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 fichier 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 dont ils disposent:
Cordialement
Voici le code qui crée une boîte de dialogue qui permet à l'utilisateur de votre application de modifier l'apparence et la convivialité en fonction des systèmes de l' utilisateur . Alternativement, si vous pouvez stocker les Look And Feel recherchés sur votre application, alors 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);
}
}
}
}
}