/*
* Copyright (c) 2005-2008 Flamingo / Substance Kirill Grouchnikov. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* o Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* o Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* o Neither the name of Flamingo Kirill Grouchnikov nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
* OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package test.ribbon;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import org.jvnet.substance.SubstanceLookAndFeel;
import org.jvnet.substance.flamingo.ribbon.gallery.oob.SubstanceRibbonTask;
import org.jvnet.substance.utils.SubstanceCoreUtilities;
public class NewCheckRibbon extends BasicCheckRibbon {
private JLabel saveLabel;
public NewCheckRibbon() {
super();
}
@Override
public void configureRibbon() {
super.configureRibbon();
this.ribbon.addTask("Look & Feel", new SubstanceRibbonTask(this));
}
@Override
protected void configureControlPanel(JPanel controlPanel) {
super.configureControlPanel(controlPanel);
final JCheckBox useThemedDefaultIconsCheckBox = new JCheckBox(
"Use themed icons");
useThemedDefaultIconsCheckBox.setSelected(SubstanceCoreUtilities
.useThemedDefaultIcon(null));
useThemedDefaultIconsCheckBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
UIManager
.put(
SubstanceLookAndFeel.USE_THEMED_DEFAULT_ICONS,
useThemedDefaultIconsCheckBox
.isSelected() ? Boolean.TRUE
: null);
SwingUtilities
.updateComponentTreeUI(NewCheckRibbon.this);
repaint();
}
});
}
});
controlPanel.add(useThemedDefaultIconsCheckBox);
}
public static void main(String[] args) {
try {
UIManager
.setLookAndFeel("org.jvnet.substance.SubstanceLookAndFeel");
} catch (Exception e) {
e.printStackTrace();
}
JFrame.setDefaultLookAndFeelDecorated(true);
// UIManager.put(LafWidget.ANIMATION_KIND, AnimationKind.DEBUG);
// JDialog.setDefaultLookAndFeelDecorated(true);
// System.setProperty("sun.awt.noerasebackground", "false");
SwingUtilities.invokeLater(new Runnable() {
public void run() {
NewCheckRibbon c = new NewCheckRibbon();
c.configureRibbon();
// c.addComponentListener(new ComponentAdapter() {
// @Override
// public void componentResized(ComponentEvent e) {
// super.componentResized(e);
// ((JFrame) e.getComponent()).getRootPane().repaint();
// }
// });
Rectangle r = GraphicsEnvironment.getLocalGraphicsEnvironment()
.getMaximumWindowBounds();
c.setPreferredSize(new Dimension(r.width, r.height / 2));
c.pack();
// center the frame in the physical screen
c.setLocation(r.x, r.y);
c.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
c.setVisible(true);
}
});
}
}
|