-- Joxy Look and Feel
-- Version 0.0.3
-- May 2012
--
-- Copyright 2011, 2012 Thom Castermans and Willem Sonke.
-- Contact: <thomcastermans@users.sf.net> and <willem3141@users.sf.net>.
--
---------------------------------------------------------------------------
--
-- This file is part of Joxy.
--
-- Joxy is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- Joxy is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with Joxy. If not, see <http://www.gnu.org/licenses/>.
-- GENERAL INFO
The Joxy Look and Feel provides a consistent integration of the Java Swing
framework with the KDE Oxygen theme.
As the license says, Joxy is free software. The source can be found on the
project homepage, under the Code section. The project homepage can be found at
<https://sourceforge.net/projects/joxy/>. It is also possible to report bugs
and discuss Joxy there.
-- INSTALLATION
There are two ways of installing Joxy.
1) Installing it locally on your system, to be used (potentially) with all Java
Swing programs.
To do this, copy the JAR-file to the lib/ext/ directory of your Java
installation. You can now start a program with Joxy enabled on it by using
the commandline option '-Dswing.defaultlaf=joxy.JoxyLookAndFeel' when starting
a program.
Example:
java -jar -Dswing.defaultlaf=joxy.JoxyLookAndFeel foobar.jar
Note that this does not work with large programs that set their own LAF. For
example to start Netbeans with Joxy enabled, you have to use the -laf option
that Netbeans provides. It can also be the case that you can choose the LAF
in the settings section of a program. For more information, you can refer to
the Joxy homepage, where a list of programs is maintained and how to start
them with Joxy. Also more involved ways of installing Joxy are discussed there.
2) Including it in your program as (one of) the Look and Feel to be (possibly)
used by your program.
You can include the JAR-file in your own source. Then you can set the LAF
programmatically as follows:
UIManager.setLookAndFeel("joxy.JoxyLookAndFeel");
This should be done before the GUI is created.
Of course, you can program your own facilities to let the user change the LAF.
Note that if you want to check if a user uses KDE, so that you can apply Joxy
only if a user uses KDE, you can use the Utils class and in particular the
isKDE method. This can be done as follows:
if (joxy.utils.Utils.isKDE()) {
// Do something if KDE is in use by the user.
}
Note that you need to have the JAR-file in your build path to be able to do
this.
-- CHANGELOG
0.0.3 - May 12, 2012
* Native text rendering (Joxy calls Qt to render its text) with caching
* Newly supported components: JTable (except the table header), JEditorPane,
JComboBox (editable and non-editable), JOptionPane (including Oxygen icons),
JList, JScrollPane, JSpinner, JToolTip, JTextPane (basic)
* Vastly improved JFileChooser with icons
* KDE-like arrows on the JTabbedPane
* Caching for the radial window background
* A bash script for compiling the native code for the native text rendering
* Support for native KDE notifications (not mature at the moment, switched
off by default)
* Move (almost) all painting to designated classes (joxy.painter package)
* Improved the look of the JButton (and derivatives), with a larger shadow
* Animations for the hover and focus indicators on many widgets
* HTML support for JCheckBox and JRadioButton
* The disabled state is shown on JButtons and derivatives
* [Bug] [#2] Check if user is running KDE fails if KDE is installed and the
user actually is using another desktop environment
* [Bug] Fixed the radial background such that it completely fits in the KDE
Oxygen theme
* [Bug] The JButton now uses the correct color as set in the KDE settings
* [Bug] Netbeans is working again (it didn't open files when using Joxy)
0.0.2 - Feb 12, 2011
* New components added: JProgressBar, JSlider, JTabbedPane, JTextArea and
JTextField (temporary), JToolBar.
* Make use of the Java defaults system on more places.
* Move painting code into painter classes to clean up the drawing methods.
* Made JScrollPane and its viewport non-opaque.
* [Bug] Fix wrong highlight on the menu.
* [Bug] [#1] Use the file chooser from the Metal LAF until a KDE file chooser
will be implemented.
0.0.1 - Dec 20, 2011
* Initial release. Buttons, window background and some panels are implemented.
-- ACKNOWLEDGEMENTS
For implementing many components, we looked at the code of the Oxygen Qt theme.
For the project icon we used the Konqi model by Basse <basse@kimppu.org> and
the Duke model by the Duke project <http://duke.kenai.com/>.