[Java VM] Interface, boutons, etc. (en cours)

Applications, problèmes de configuration réseau
Avatar de l’utilisateur
Siriru
archer
Messages : 133
Inscription : ven. 27 mars 2009, 23:46

[Java VM] Interface, boutons, etc. (en cours)

Message par Siriru »

Hello !

Je n'arrive pas à améliorer le style de mes interfaces d'applications écrites en Java. Sous windows ou macOS, c'est plutôt joli, mais sous linux, p.ex. les boutons sont rectangulaires et moches : comment y remédier, y a t'il possibilité d'appliquer des thèmes ou quelque chose à configurer ?

Merci !
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Java VM] Interface, boutons, etc. (en cours)

Message par FoolEcho »

:rtfm: (j'vois pas comment on peut faire du Java autrement :mrgreen: )

Vois du côté de:
http://download.oracle.com/javase/tutor ... /plaf.html
http://download.oracle.com/javase/6/doc ... nager.html
«The following statement is not true. The previous statement is true.» :nage:
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17239
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Java VM] Interface, boutons, etc. (en cours)

Message par benjarobin »

@FoolEcho Je ne pense pas que tu ai saisi l’ampleur de la mocheté. Un screen serai le bienvenue bien sure. Cela m'était déjà arrivé il y a fort longtemps sous Ubuntu de mémoire, et j'avais su résoudre le problème par une histoire de variable d’environnement ou autre :( Je ne me rappelle plus...
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
FoolEcho
Maître du Kyudo
Messages : 10707
Inscription : dim. 15 août 2010, 11:48
Localisation : Basse-Normandie

Re: [Java VM] Interface, boutons, etc. (en cours)

Message par FoolEcho »

Je pense que la mocheté est subjective et que le tutoriel répond à toutes les questions (c'est lundi, j'fais mon benjarobin :copain: )
Bon d'accord, Sun n'était pas très inspiré.

Méthode 1, changement dans le code pour obtenir le rendu GTK (ou tout autre rendu désiré) avec un test pourri:

Code : Tout sélectionner

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.UIManager;


public class MainFrame {

	public static void main(String[] args) {
		try {
			
//			String lookAndFeel = "javax.swing.plaf.metal.MetalLookAndFeel";
//			String lookAndFeel = "com.sun.java.swing.plaf.motif.MotifLookAndFeel";
			String lookAndFeel = "com.sun.java.swing.plaf.gtk.GTKLookAndFeel";

			UIManager.setLookAndFeel(lookAndFeel);

			JFrame frame = new JFrame("test");
			
			JPanel panel = new JPanel();
			panel.add(new JButton("nothing"));
			panel.add(new JButton("always nothing"));
			
			frame.getContentPane().add(panel);
			frame.pack();
			frame.setVisible(true);
		} catch (Exception e ){
			e.printStackTrace();
		}
	}
}
Cf. le tutoriel pour changement à la volée, option en ligne de commande, etc...

Méthode 2, prise en charge permanente sous Arch (openjdk-6):
Créer un fichier /usr/lib/jvm/java-6-openjdk/jre/lib/swing.properties contenant:

Code : Tout sélectionner

swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel
Puis démarrer n'importe quel appli java (de préfèrence une qui n'a pas de thème défini)...
«The following statement is not true. The previous statement is true.» :nage:
Répondre