On 06/25/2013 02:31 PM, Pierre Gobin wrote:
Le 25/06/2013 21:55, Aere Greenway a écrit :
On 06/25/2013 01:23 PM, Pierre Gobin wrote:
Hi all,
I have a problem with Java applications in Lubuntu. When I use them,
they use the default Java theme (metal). How make them using Lubuntu
default theme (Lubuntu Box) ?
I tried to modify the swing.properties as indicated here [1], but it
didn't change anything. Any idea ?
Kind regards,
Pierre GOBIN
[1]
http://askubuntu.com/questions/21886/how-can-i-get-a-java-apps-to-use-the-gtk-theme
Pierre:
I have overcome that default by using the GTK+ look-and-feel, which
seems to be available in all of the Linux distributions I have tested.
After doing that, my Java application uses the selected theme, as
well as color customization.
Thanks. But exactly, I fail to use GTK+ look-and-feel. What do I need
to do to use it ?
Pierre:
Unfortunately, it's not simple (I wish it were).
I have cut-and-pasted some code snippets which hopefully can give you an
idea of how to do it. The code comes from a Java Swing application of mine.
--------------------------------------------------------------------------------------------------------------------------------------
// This code runs when the main dialog is shown.
// Set up the look-and-feel.
jComboBoxF1LookAndFeel.removeAllItems() ;
String systemPLAF = UIManager.getSystemLookAndFeelClassName() ;
jComboBoxF1LookAndFeel.addItem("cross-platform") ;
lafClassNames.add(UIManager.getCrossPlatformLookAndFeelClassName()) ;
jComboBoxF1LookAndFeel.addItem("system") ;
lafClassNames.add(systemPLAF) ;
UIManager.LookAndFeelInfo [] installed =
UIManager.getInstalledLookAndFeels() ;
for (int lfIndex = 0 ; lfIndex < installed.length ; lfIndex++)
{ // For each installed look-and-feel:
jComboBoxF1LookAndFeel.addItem(installed[lfIndex].getName()) ;
lafClassNames.add(installed[lfIndex].getClassName()) ;
}
LookAndFeel [] aux = UIManager.getAuxiliaryLookAndFeels() ;
if (aux != null)
{
for (int alfIndex = 0 ; alfIndex < aux.length ; alfIndex++)
{ // For each auxilliary look-and-feel:
jComboBoxF1LookAndFeel.addItem(aux[alfIndex].getName()) ;
lafClassNames.add(installed[alfIndex].getClassName()) ;
}
}
jComboBoxF1LookAndFeel.setSelectedItem(DEFAULT_LOOK_AND_FEEL) ;
lafIndex = jComboBoxF1LookAndFeel.getSelectedIndex() ;
--------------------------------------------------------------------------------------------------------------------------------------
// This is the code for processing state-changes of the LookAndFeel
combo-box:
private void jComboBoxF1LookAndFeelItemStateChanged(ItemEvent evt)
{
System.out.println("jComboBoxF1LookAndFeel.itemStateChanged,
event="+evt);
configValues.jComboBoxF1LookAndFeelValue = (String)
jComboBoxF1LookAndFeel.getSelectedItem() ;
lafIndex = jComboBoxF1LookAndFeel.getSelectedIndex() ;
changeLookAndFeel() ;
}
--------------------------------------------------------------------------------------------------------------------------------------
// This is the method that changes the look-and-feel
private void changeLookAndFeel()
{
if (isInitialized && lafIndex >= 0)
{ // We're initialized, and a Look-and-Feel has been selected.
try
{
String selectedLafClass = (String)
lafClassNames.get(lafIndex) ;
UIManager.setLookAndFeel(selectedLafClass) ;
SwingUtilities.updateComponentTreeUI(metricsDlg.jPanelMain) ;
SwingUtilities.updateComponentTreeUI(jTabbedPanelFunctionKeys.getParent()) ;
}
catch (Exception e)
{
String exceptionType = e.toString() ;
int to = exceptionType.indexOf(":") ;
if (to > 0)
exceptionType = exceptionType.substring(0, to) ;
String message = "Unable to use " +
jComboBoxF1LookAndFeel.getSelectedItem() +
" look-and-feel.\nClass=" +
lafClassNames.get(lafIndex) + "\n" +
exceptionType ;
int result = JOptionPane.showConfirmDialog(null, message,
"Set Look-and-Feel", JOptionPane.OK_CANCEL_OPTION,
JOptionPane.ERROR_MESSAGE) ;
if (result == JOptionPane.CANCEL_OPTION)
{
System.exit(1) ;
}
}
}
}
--
Sincerely,
Aere
--
Lubuntu-users mailing list
Lubuntu-users@lists.ubuntu.com
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/lubuntu-users