/*
* 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 ilog.views.IlvManager;
import ilog.views.IlvManagerView;
import ilog.views.IlvPoint;
import ilog.views.IlvRect;
import ilog.views.graphic.IlvEllipse;
import ilog.views.graphic.IlvRectangle;
import ilog.views.graphic.IlvText;
import ilog.views.graphic.composite.IlvCompositeGraphic;
import ilog.views.graphic.composite.layout.IlvAttachmentConstraint;
import ilog.views.graphic.composite.layout.IlvAttachmentLayout;
import ilog.views.graphic.composite.layout.IlvAttachmentLocation;
import ilog.views.graphic.composite.layout.IlvCenteredLayout;
import ilog.views.graphic.composite.layout.IlvStackerLayout;
import ilog.views.swing.IlvJScrollManagerView;
//import ilog.views.util.IlvProductUtil;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Insets;
import javax.swing.JFrame;
import javax.swing.SwingConstants;
import javax.swing.SwingUtilities;
/**
* Composite sample
*
* Creates a composite graphic consisting of several subgraphics, and displays
* it in a manager view.
*/
public class Composite extends JFrame {
IlvManager manager;
IlvManagerView mgrview;
public Composite()
{
// Create a composite graphic object
IlvCompositeGraphic composite = new IlvCompositeGraphic();
// Create the attachment layout.
IlvAttachmentLayout layout = new IlvAttachmentLayout();
composite.setLayout(layout);
// Creates the first child
IlvRectangle rectangle =
new IlvRectangle(new IlvRect(100, 100, 40, 40), true, true);
rectangle.setBackground(Color.blue);
composite.setChildren(0, rectangle);
// Creates a label
IlvText text = new IlvText();
text.setLabel("Composite Graphic");
composite.setChildren(1, text);
// Places the label below the rectangle
composite.setConstraints(1, new IlvAttachmentConstraint(
IlvAttachmentLocation.TopCenter,
IlvAttachmentLocation.BottomCenter));
// Creates a stacker
IlvCompositeGraphic rectangles = new IlvCompositeGraphic();
IlvStackerLayout stacker = new IlvStackerLayout(SwingConstants.RIGHT,
SwingConstants.BOTTOM, 3);
rectangles.setLayout(stacker);
// Create three small rectangles hold in the stacker
IlvRectangle r1 = new IlvRectangle(new IlvRect(0, 0, 5, 5), true, true);
r1.setBackground(Color.red);
rectangles.setChildren(0, r1);
IlvRectangle r2 = new IlvRectangle(new IlvRect(0, 0, 5, 5), true, true);
r2.setBackground(Color.yellow);
rectangles.setChildren(1, r2);
IlvRectangle r3 = new IlvRectangle(new IlvRect(0, 0, 5, 5), true, true);
r3.setBackground(Color.green);
rectangles.setChildren(2, r3);
composite.setChildren(2, rectangles);
composite.setConstraints(2, new IlvAttachmentConstraint(
IlvAttachmentLocation.BottomLeft,
IlvAttachmentLocation.TopRight));
// Creates a balloon, made of two graphics with a centered layout
IlvCompositeGraphic balloon = new IlvCompositeGraphic();
IlvCenteredLayout centered = new IlvCenteredLayout(new Insets(5, 5, 5, 5));
balloon.setLayout(centered);
// The outer graphic
IlvEllipse ellipse = new IlvEllipse();
ellipse.setFillOn(true);
ellipse.setBackground(Color.yellow);
balloon.setChildren(0, ellipse);
// The innner graphic
IlvText balloonText = new IlvText(new IlvPoint(0, 0), "Balloon");
balloon.setChildren(1, balloonText);
composite.setChildren(3, balloon);
composite.setConstraints(3, new IlvAttachmentConstraint(
IlvAttachmentLocation.BottomCenter,
IlvAttachmentLocation.TopLeft));
// Creates the manager object
manager = new IlvManager();
// Add the composite to the manager
manager.addObject(composite, false);
// Creates a view associated to the manager
mgrview = new IlvManagerView(manager);
mgrview.setAntialiasing(true);
mgrview.setBackground(Color.white);
// Creates the necessary swing components
getContentPane().setLayout(new BorderLayout(0, 0));
getContentPane().add(new IlvJScrollManagerView(mgrview),
BorderLayout.CENTER);
}
public static void main(String[] args)
{
// This sample uses JViews Diagrammer features. When deploying an
// application that includes this code, you need to be in possession
// of a Rogue Wave JViews Diagrammer Deployment license.
// IlvProductUtil.DeploymentLicenseRequired(
// IlvProductUtil.JViews_Diagrammer_Deployment);
// Sun recommends that to put the entire GUI initialization into the
// AWT thread
SwingUtilities.invokeLater(
new Runnable() {
Override
public void run() {
JFrame frame = new Composite();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(450, 350);
frame.setVisible(true);
}
});
}
}