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

Reply via email to