Choix langage win + mac + linux

Résolu/Fermé
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 - 13 sept. 2011 à 17:15
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 13 sept. 2011 à 19:49
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
13 sept. 2011 à 18:34
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 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
13 sept. 2011 à 19:49
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 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 17:15
Désolé de te répéter ça mais... Java reste tout de même le must.
0
le_boss Messages postés 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
13 sept. 2011 à 17:30
...et donc quelle solution offre Java au problème du look and feel ?
0
Mihawk Messages postés 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 17:31
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 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
13 sept. 2011 à 17:39
ç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 4313 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 845
13 sept. 2011 à 17:41
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 168 Date d'inscription vendredi 8 août 2008 Statut Membre Dernière intervention 29 octobre 2011 19
Modifié par le_boss le 13/09/2011 à 17:52
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