Choix langage win + mac + linux

Résolu
le_boss Messages postés 172 Statut Membre -  
KX Messages postés 19031 Statut Modérateur -
Bonjour,

J'aimerais développer un petit programme (avec base de données embarquée) qui puisse tourner sous windows + mac + linux sans modifier le code source. La question c'est: quel langage choisir ?

Je sais évidemment que Java est réputé pour son caractère multiplateforme, mais une chose me dérange beaucoup: les composants de l'interface graphique ne sont pas bien intégrés au style de l'OS, contrairement au .Net.

Est-ce qu'il existe des moyens de faire des "jolies" interfaces indépendamment de la plateforme sans changer le code source ?
A voir également:

7 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
Toujours pour parler de Java : plutôt que de créer trois applications il te suffit de modifier les LookAndFeel. Ce ne sera peut-être pas exactement les même styles que l'OS mais on peut s'en rapprocher, voire laisser le choix à l'utilisateur du style à adopter.

Voici un petit code qui te permet de générer autant de fenêtre que de LookAndFeel installés sur la machine :

public static void main(String...args)
{
	for (LookAndFeelInfo lafi : UIManager.getInstalledLookAndFeels())
	{
		try 
		{
			UIManager.setLookAndFeel(lafi.getClassName());
			
			// Fenetre extends JFrame
			new Fenetre().setTitle(lafi.getName()); 
		} 
		catch (Exception e) 
		{
			e.printStackTrace();
		}
	}
}

On peut facilement imaginer une liste déroulante générer à partir de cette liste et qui permettrait à l'utilisateur de choisir le style.
Tu pourrais également ajouter tes propres styles à cette liste (regarde par exemple ici).
Comme ça si les styles par défaut de Java ne te semblent pas assez proches de l'OS tu pourras les recréer toi même sans modifier tes applications, juste les styles.
1
KX Messages postés 19031 Statut Modérateur 3 020
 
Remarque : on peut également télécharger des LookAndFeel sur internet ;-)
Voici une petite liste, en particulier Quaqua LnF ressemble à Mac OS X, et Office LnFs à Windows XP.

Mais dans la plupart des cas utiliser le LnF de l'OS pourrait suffire :
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
Désolé de te répéter ça mais... Java reste tout de même le must.
0
le_boss Messages postés 172 Statut Membre 19
 
...et donc quelle solution offre Java au problème du look and feel ?
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
Bé pas grand chose... Un programme doit nécessairement s'adapter à l'OS qui l'accueil, c'est comme ça !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le_boss Messages postés 172 Statut Membre 19
 
ça veut dire que je dois développer trois versions en parallèle, une pour chaque OS... même en Java, c'est bien ça ?

Comment faut-il s'y prendre pour faire un programme décliné en trois versions qui reste maintenable ? J'imagine qu'il y a au moins des bonnes pratiques ?
0
Mihawk Messages postés 4753 Statut Contributeur 846
 
Ah ok je vois ce que tu veux dire...
En effet JAVA risque d'être un peu jurant sur chaque OS...
En attendant, il doit y avoir moyen de faire en sorte que les composant soient piochés dans la librairie de l'OS, non ?
0
le_boss Messages postés 172 Statut Membre 19
 
C'est précisément ce genre de choses que j'aimerais savoir.

Les GUI Java que j'ai vus jusqu'à présent, autant sous windows que sous linux, ne sont pas franchement beaux à voir... les composants sont tout moches.
0