Le problème, c'est que les classes JFreeCharts recherchent les chaînes traduites à l'aide de:
1 2
| /** The resourceBundle for the localization. */
protected static ResourceBundle localizationResources = ResourceBundleWrapper.getBundle("org.jfree.chart.LocalizationBundle"); |
Ensuite, lors de la création du composant popup:
JMenuItem copyItem = new JMenuItem(localizationResources.getString("Copy"));
et
JMenuItem saveItem = new JMenuItem(localizationResources.getString("Save_as..."));
En dur dans la méthode createPopupMenu(...);...
En conséquence, si tu tiens absolument à ce que l'interface change de langue instantanément sans tenir compte du système d'exploitation, il faut capturer les événements de la souris pour créer soi-même un menu popup dans la langue voulue.
Une autre possibilité, consisterait (en fonction des compatibilités de licences possibles) de fournir toi-même une version du JFreeChart modifiée en conséquence (localizationResources public static et non pas protected static).
Partager