/* * Licensed Materials - Property of Perforce Software, Inc. * © Copyright Perforce Software, Inc. 2014, 2021 * © 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.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; import java.net.URL; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.SwingUtilities; import javax.swing.filechooser.FileFilter; import ilog.views.chart.IlvChart; import ilog.views.util.IlvProductUtil; /** * A class that loads a Perforce JViews Charts Designer project file into a * chart. */ public class ProjectViewer extends JFrame { private IlvChart chart; public ProjectViewer() { super("Using a JViews Charts Designer Project File in an Application"); setDefaultCloseOperation(EXIT_ON_CLOSE); // Creates the chart instance on which project file will be applied. JButton button = new JButton("Open Project File"); button.addActionListener(new ActionListener() { Override public void actionPerformed(ActionEvent evt) { JFileChooser fileChooser = new JFileChooser(); fileChooser.addChoosableFileFilter(new FileFilter() { Override public boolean accept(File f) { return f.isDirectory() || f.getName().endsWith(".icpr"); } Override public String getDescription() { return "Perforce JViews Charts Designer project file"; } }); int ret = fileChooser.showOpenDialog(ProjectViewer.this); if (ret == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); try { URL project = file.toURI().toURL(); // Apply the project file to the chart chart.setProject(project); } catch (Exception e) { e.printStackTrace(); } } } }); getContentPane().add(button, BorderLayout.NORTH); chart = new IlvChart(); getContentPane().add(chart, BorderLayout.CENTER); setSize(500, 400); } 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 Perforce JViews Charts Deployment license. IlvProductUtil.DeploymentLicenseRequired(IlvProductUtil.JViews_Charts_Deployment); SwingUtilities.invokeLater(new Runnable() { Override public void run() { ProjectViewer frame = new ProjectViewer(); frame.setVisible(true); } }); } }