summaryrefslogtreecommitdiff
path: root/src/tesseract/menuitems/TesseractMenuItem.java
diff options
context:
space:
mode:
authorSteve <steveb9@u.washington.edu>2011-02-12 13:04:41 +0000
committerSteve <steveb9@u.washington.edu>2011-02-12 13:04:41 +0000
commit354a7aa455a016ac179d7f027014e6b9c2a2433a (patch)
treec49a6a3766341b02ee07a2f72f7f792973eb670c /src/tesseract/menuitems/TesseractMenuItem.java
parent5659cdbb139a1820b5739553fc331505852a3740 (diff)
Added parameter box for adding objects. The chainlink is not implemented yet as its params are very different.
Diffstat (limited to 'src/tesseract/menuitems/TesseractMenuItem.java')
-rw-r--r--src/tesseract/menuitems/TesseractMenuItem.java146
1 files changed, 142 insertions, 4 deletions
diff --git a/src/tesseract/menuitems/TesseractMenuItem.java b/src/tesseract/menuitems/TesseractMenuItem.java
index cd3bf03..606f487 100644
--- a/src/tesseract/menuitems/TesseractMenuItem.java
+++ b/src/tesseract/menuitems/TesseractMenuItem.java
@@ -1,12 +1,18 @@
package tesseract.menuitems;
+import java.awt.Color;
import java.awt.Dimension;
+import java.awt.FlowLayout;
import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
+import javax.swing.JLabel;
import javax.swing.JMenuItem;
+import javax.swing.JTextField;
import javax.vecmath.Vector3f;
import tesseract.World;
@@ -45,11 +51,46 @@ public abstract class TesseractMenuItem
private JCheckBox my_default_button;
/**
- * A Parameter setting Jframe
+ * A Parameter setting JFrame
*/
private JFrame my_param_frame;
/**
+ * A position.
+ */
+ private Vector3f my_position;
+
+ /**
+ * A radius field.
+ */
+ private float my_radius;
+
+ /**
+ * A mass field.
+ */
+ private float my_mass;
+
+ /**
+ * A position input.
+ */
+ private JTextField my_position_input;
+
+ /**
+ * A radius input.
+ */
+ private JTextField my_radius_input;
+
+ /**
+ * A mass input.
+ */
+ private JTextField my_mass_input;
+
+ /**
+ * The button that get all inputs for shape
+ */
+ private JButton my_enter_button;
+
+ /**
* Constructor.
*
* @param theWorld The world in which to add.
@@ -60,6 +101,10 @@ public abstract class TesseractMenuItem
myWorld = theWorld;
+ my_position = new Vector3f(0,0,0);
+ my_radius = 0f;
+ my_mass = 1;
+
addActionListener(this);
}
@@ -80,15 +125,40 @@ public abstract class TesseractMenuItem
}
protected void createParameterMenu() {
- my_param_frame= new JFrame("Parameters");
+
+ my_param_frame = new JFrame("Parameters");
+ my_param_frame.setBackground(Color.GRAY);
+ my_param_frame.setLayout(new FlowLayout());
+
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int screenHeight = screenSize.height;
int screenWidth = screenSize.width;
- my_param_frame.setSize(screenWidth / 2, screenHeight / 2);
+ my_param_frame.setSize(screenWidth / 4, screenHeight / 4);
my_param_frame.setLocation(screenWidth / 4, screenHeight / 4);
- my_default_button = new JCheckBox("Default Shape");
+
+ my_position_input = new JTextField(10);
+ my_radius_input = new JTextField(10);
+ my_mass_input = new JTextField(10);
+
+ JLabel position_label = new JLabel("Enter Position: ");
+ JLabel radius_label = new JLabel("Enter Radius: ");
+ JLabel mass_label = new JLabel("Enter Mass: ");
+
+ my_enter_button = new JButton("ENTER");
+
+ my_default_button = new JCheckBox("Default Shape ");
+
my_param_frame.add(my_default_button);
+ my_param_frame.add(position_label);
+ my_param_frame.add(my_position_input);
+ my_param_frame.add(radius_label);
+ my_param_frame.add(my_radius_input);
+ my_param_frame.add(mass_label);
+ my_param_frame.add(my_mass_input);
+ my_param_frame.add(my_enter_button);
+
+
my_param_frame.setAlwaysOnTop(true);
my_param_frame.pack();
my_param_frame.setVisible(isVisible());
@@ -101,6 +171,10 @@ public abstract class TesseractMenuItem
protected JFrame getParamFrame() {
return my_param_frame;
}
+
+ protected JButton getEnterButton() {
+ return my_enter_button;
+ }
/**
* @return the defaultRadius
@@ -115,4 +189,68 @@ public abstract class TesseractMenuItem
public static Vector3f getDefaultPosition() {
return DEFAULT_POSITION;
}
+
+ /**
+ * @return the input position.
+ */
+ public Vector3f getPosition() {
+ return my_position;
+ }
+
+ /**
+ * @return the radius.
+ */
+ public float getRadius() {
+ return my_radius;
+ }
+
+ /**
+ * @return the mass.
+ */
+ public float getMass() {
+ return my_mass;
+ }
+
+ /**
+ *
+ * @param the_position the new position
+ */
+ public void setPosition(final Vector3f the_position) {
+ my_position = the_position;
+ }
+
+ /**
+ * @param the_radius float sets the radius.
+ */
+ public void setRadius(final float the_radius) {
+ my_radius = the_radius;
+ }
+
+ /**
+ * @param the_mass float sets the mass.
+ */
+ public void setMass(final float the_mass) {
+ my_mass = the_mass;
+ }
+
+ /**
+ * @return the input position input
+ */
+ public JTextField getPositionField() {
+ return my_position_input;
+ }
+
+ /**
+ * @return the radius input.
+ */
+ public JTextField getRadiusField() {
+ return my_radius_input;
+ }
+
+ /**
+ * @return the mass input.
+ */
+ public JTextField getMassField() {
+ return my_mass_input;
+ }
}