2 * Sixth - System for data storage, computation, exploration and interaction.
3 * Copyright ©2012-2016, Svjatoslav Agejenko, svjatoslav@svjatoslav.eu
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of version 3 of the GNU Lesser General Public License
7 * or later as published by the Free Software Foundation.
10 package eu.svjatoslav.sixth.e3d.examples.launcher;
12 import eu.svjatoslav.sixth.e3d.examples.*;
15 import javax.swing.GroupLayout.Alignment;
16 import javax.swing.LayoutStyle.ComponentPlacement;
17 import java.awt.event.ActionEvent;
18 import java.io.IOException;
20 class MenuPanel extends JPanel {
21 private static final long serialVersionUID = 2012721856427052560L;
25 final JLabel lblNewLabel = new JLabel("Choose an example to launch.");
27 final JButton btnNewButton = new JButton("Demo 1");
28 btnNewButton.addActionListener(e -> {
30 Action action = new SwingAction();
31 btnNewButton.setAction(action);
33 final JButton btnNewButton_1 = new JButton("Demo 2");
34 Action action_1 = new SwingAction_1();
35 btnNewButton_1.setAction(action_1);
37 final JButton button = new JButton("New button");
38 Action action_2 = new SwingAction_2();
39 button.setAction(action_2);
41 final JButton btnNewButton_2 = new JButton("New button");
42 Action action_3 = new SwingAction_3();
43 btnNewButton_2.setAction(action_3);
45 final JButton btnNewButton_3 = new JButton("New button");
46 Action action_4 = new SwingAction_4();
47 btnNewButton_3.setAction(action_4);
49 final JButton btnNewButton_4 = new JButton("New button");
50 Action action_5 = new SwingAction_5();
51 btnNewButton_4.setAction(action_5);
52 final GroupLayout groupLayout = new GroupLayout(this);
54 .setHorizontalGroup(groupLayout
55 .createParallelGroup(Alignment.LEADING)
58 .createSequentialGroup()
67 .createSequentialGroup()
70 GroupLayout.PREFERRED_SIZE,
72 GroupLayout.PREFERRED_SIZE)
74 GroupLayout.DEFAULT_SIZE,
79 .createSequentialGroup()
87 GroupLayout.DEFAULT_SIZE,
93 GroupLayout.DEFAULT_SIZE,
99 GroupLayout.DEFAULT_SIZE,
105 GroupLayout.DEFAULT_SIZE,
111 GroupLayout.DEFAULT_SIZE,
112 GroupLayout.DEFAULT_SIZE,
116 GroupLayout.DEFAULT_SIZE,
120 groupLayout.setVerticalGroup(groupLayout.createParallelGroup(
121 Alignment.LEADING).addGroup(
123 .createSequentialGroup()
125 .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE,
126 58, GroupLayout.PREFERRED_SIZE)
127 .addPreferredGap(ComponentPlacement.RELATED)
128 .addComponent(btnNewButton)
129 .addPreferredGap(ComponentPlacement.RELATED)
130 .addComponent(btnNewButton_1)
131 .addPreferredGap(ComponentPlacement.RELATED)
132 .addComponent(button)
133 .addPreferredGap(ComponentPlacement.RELATED)
134 .addComponent(btnNewButton_2)
135 .addPreferredGap(ComponentPlacement.RELATED)
136 .addComponent(btnNewButton_3)
137 .addPreferredGap(ComponentPlacement.RELATED)
138 .addComponent(btnNewButton_4)
139 .addContainerGap(137, Short.MAX_VALUE)));
140 setLayout(groupLayout);
144 private class SwingAction extends AbstractAction {
145 private static final long serialVersionUID = 5197962166765841015L;
147 public SwingAction() {
148 putValue(NAME, "Text editors");
149 putValue(SHORT_DESCRIPTION, "Some short description");
153 public void actionPerformed(final ActionEvent e) {
154 TextEditorDemo.main(null);
158 private class SwingAction_1 extends AbstractAction {
159 private static final long serialVersionUID = -896479509963403828L;
161 public SwingAction_1() {
162 putValue(NAME, "Wireframe sphere and ploygon landscape");
163 putValue(SHORT_DESCRIPTION, "Some short description");
167 public void actionPerformed(final ActionEvent e) {
168 SphereDemo.main(null);
173 private class SwingAction_2 extends AbstractAction {
174 private static final long serialVersionUID = 8566009849873897321L;
176 public SwingAction_2() {
177 putValue(NAME, "Raining numbers");
178 putValue(SHORT_DESCRIPTION, "Some short description");
182 public void actionPerformed(final ActionEvent e) {
184 RainingNumbersDemo.main(null);
185 } catch (final IOException e1) {
186 e1.printStackTrace();
191 private class SwingAction_3 extends AbstractAction {
192 private static final long serialVersionUID = -5369105936409884389L;
194 public SwingAction_3() {
195 putValue(NAME, "Pointcloud galaxy");
196 putValue(SHORT_DESCRIPTION, "Some short description");
200 public void actionPerformed(final ActionEvent e) {
201 PointCloudDemo.main(null);
205 private class SwingAction_4 extends AbstractAction {
206 private static final long serialVersionUID = -8486796142555764460L;
208 public SwingAction_4() {
209 putValue(NAME, "Mathematical graphs");
210 putValue(SHORT_DESCRIPTION, "Some short description");
214 public void actionPerformed(final ActionEvent e) {
216 GraphDemo.main(null);
217 } catch (final IOException e1) {
218 e1.printStackTrace();
223 private class SwingAction_5 extends AbstractAction {
224 private static final long serialVersionUID = -6210703594848004946L;
226 public SwingAction_5() {
227 putValue(NAME, "Volumetric Octree");
228 putValue(SHORT_DESCRIPTION, "Some short description");
232 public void actionPerformed(final ActionEvent e) {
234 OctreeDemo.main(null);
235 } catch (final IOException e1) {
236 e1.printStackTrace();