/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © Copyright IBM Corp. 2009, 2014
* © Copyright ILOG 1996, 2009
* All Rights Reserved.
*
* Note to U.S. Government Users Restricted Rights:
* The Software and Documentation were developed at private expense and
* are "Commercial Items" as that term is defined at 48 CFR 2.101,
* consisting of "Commercial Computer Software" and
* "Commercial Computer Software Documentation", as such terms are
* used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
* as applicable.
*/
import java.awt.AWTEvent;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JToggleButton;
import javax.swing.SwingUtilities;
import ilog.views.chart.IlvChart;
import ilog.views.chart.data.xml.IlvXMLDataSource;
import ilog.views.util.IlvProductUtil;
/**
* A simple example that illustrates the <i>Styling</i> Chapter of the Charts
* User's Manual.
*/
public class ChartCSSExample extends JFrame {
private static final String XML_FILE = "resources/simple.xml";
private static final String CSS_FILE = "resources/colored.css";
protected IlvChart chart;
protected IlvXMLDataSource xmlDS = new IlvXMLDataSource();
/** Creates a new <code>ChartCSSExample</code>. */
public ChartCSSExample() {
super("Styling");
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
setDefaultCloseOperation(EXIT_ON_CLOSE);
this.chart = createChart();
getContentPane().add(chart);
final JToggleButton button = new JToggleButton("Switch Style Sheet");
button.addActionListener(new ActionListener() {
Override
public void actionPerformed(ActionEvent e) {
if (button.isSelected())
setStyleSheets(new String[] { CSS_FILE });
else {
setStyleSheets(xmlDS.getStyleSheets());
}
}
});
getContentPane().add(button, BorderLayout.NORTH);
}
/** Creates the chart. */
protected IlvChart createChart() {
IlvChart chart = new IlvChart();
try {
xmlDS.setFilename(XML_FILE);
} catch (Exception x) {
x.printStackTrace();
}
chart.setDataSource(xmlDS);
return chart;
}
private void setStyleSheets(String[] styleSheets) {
try {
chart.setStyleSheets(styleSheets);
} catch (ilog.views.util.styling.IlvStylingException x) {
System.err.println("Cannot load style sheets: " + x.getMessage());
x.printStackTrace();
}
}
public static void main(String[] args) {
// This sample uses JViews Charts features. When deploying an
// application that includes this code, you need to be in possession
// of a Rogue Wave JViews Charts Deployment license.
IlvProductUtil.DeploymentLicenseRequired(IlvProductUtil.JViews_Charts_Deployment);
SwingUtilities.invokeLater(new Runnable() {
Override
public void run() {
ChartCSSExample frame = new ChartCSSExample();
frame.setSize(400, 400);
frame.setVisible(true);
}
});
}
}