/*
* @(#)Main.java 3.3 23-APR-04
*
* Copyright (c) 2001-2005, Gaudenz Alder All rights reserved.
*
* See LICENSE file in distribution for licensing details of this source file
*/
package com.jgraph.example;
import java.awt.Container;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class Main {
// Construct Frame
static JFrame f = new JFrame("JGraph Examples");
// Main Method
public static void main(String[] args) {
// Set Close Operation to Exit
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Get Content Pane
Container p = f.getContentPane();
// Set Layout
p.setLayout(new GridLayout(3, 2));
// Add Buttons
p.add(createButton(com.jgraph.example.EditorGraph.class, args));
p.add(createButton(org.jgraph.example.GraphEd.class, args));
p.add(createButton(com.jgraph.example.GraphEdX.class, args));
p.add(createButton(com.jgraph.example.GraphEdMV.class, args));
p.add(createButton(com.jgraph.example.GraphTreeModel.class, args));
p.add(createButton(com.jgraph.example.MyPortView.class, args));
p.add(createButton(org.jgraph.example.HelloWorld.class, args));
p.add(createButton(com.jgraph.example.fastgraph.FastGraph.class, args));
p
.add(createButton(
com.jgraph.example.adapter.JGraphAdapterExample.class, args));
p
.add(createButton(
com.jgraph.example.GraphSelectionDemo.class, args));
p
.add(createButton(
com.jgraph.example.mycellview.MyCellView.class, args));
p
.add(createButton(
com.jgraph.example.mycellmodeleditor.MyCellModelEditor.class, args));
p
.add(createButton(
com.jgraph.example.groupeditor.EditableGroupDemo.class, args));
// Set Default Size
f.pack();
// Show Frame
f.setVisible(true);
}
public static JButton createButton(final Class aClass, final String[] args) {
JButton b = new JButton(aClass.getName().substring(
aClass.getPackage().getName().length() + 1));
b.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
run(aClass, args);
}
});
return b;
}
public static void run(Class aClass, String[] args) {
try {
aClass.getDeclaredMethod("main", new Class[] { String[].class })
.invoke(null, new Object[] { args });
} catch (Exception e) {
e.printStackTrace();
}
}
}