diff options
Diffstat (limited to 'src/tesseract')
-rw-r--r-- | src/tesseract/newmenu/MenuItem.java | 51 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewChainLinkMenuItem.java | 3 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewEllipsoidMenuItem.java | 3 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewIcosahedronMenuItem.java | 2 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewParticleEmitterMenuItem.java | 6 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewParticleMenuItem.java | 6 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewPlanarPolygonMenuItem.java | 2 | ||||
-rw-r--r-- | src/tesseract/newmenu/NewToroidMenuItem.java | 2 |
8 files changed, 62 insertions, 13 deletions
diff --git a/src/tesseract/newmenu/MenuItem.java b/src/tesseract/newmenu/MenuItem.java index e4f689e..da3cb54 100644 --- a/src/tesseract/newmenu/MenuItem.java +++ b/src/tesseract/newmenu/MenuItem.java @@ -5,6 +5,7 @@ import java.awt.Color; import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
@@ -12,6 +13,7 @@ import java.util.Set; import javax.swing.JButton;
import javax.swing.JCheckBox;
+import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
@@ -65,6 +67,12 @@ public abstract class MenuItem extends JMenuItem implements ActionListener { * World to add objects to.
*/
protected World myWorld;
+
+ /**
+ * Color to make object.
+ */
+ protected Color myColor;
+
/**
* A Parameter setting JFrame.
*/
@@ -74,11 +82,19 @@ public abstract class MenuItem extends JMenuItem implements ActionListener { * The button that get all inputs for shape.
*/
private JButton myEnterButton;
+
+ /**
+ * The button that get all inputs for shape.
+ */
+ private JButton myColorButton;
+
/**
* The default button.
*/
private JButton myDefaultButton;
+ private boolean useColorButton;
+
/**
* Default constructor.
*/
@@ -91,6 +107,7 @@ public abstract class MenuItem extends JMenuItem implements ActionListener { */
public MenuItem(final World theWorld, final String theLabel) {
super(theLabel);
+ useColorButton = true;
myFrame = new JFrame();
myParameters = new HashMap<String, Object>();
myPanel = new JPanel();
@@ -102,6 +119,19 @@ public abstract class MenuItem extends JMenuItem implements ActionListener { myParamFrame = new JFrame("Parameters");
myParamFrame.setBackground(Color.GRAY);
myParamFrame.setLayout(new BorderLayout());
+ myColorButton = new JButton("Color");
+ myColor = Color.RED;
+ }
+
+ /**
+ * Constructor.
+ * @param theWorld world parameter.
+ * @param theLabel for menu item.
+ * @param theColor use color button.
+ */
+ public MenuItem(final World theWorld, final String theLabel, boolean theColor) {
+ this(theWorld, theLabel);
+ useColorButton = theColor;
}
/**
@@ -128,7 +158,14 @@ public abstract class MenuItem extends JMenuItem implements ActionListener { protected void createParameterMenu() {
-
+ myColorButton.addActionListener(new ActionListener(){
+
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ myColor = JColorChooser.showDialog(null, "Particle Color",
+ Color.RED);
+
+ }});
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int screenHeight = screenSize.height;
@@ -152,9 +189,19 @@ public abstract class MenuItem extends JMenuItem implements ActionListener { myDefaultButton = new JButton("Default Shape");
+ if (useColorButton) {
+ JPanel temp = new JPanel();
+ temp.setLayout(new GridLayout(1, 2));
+ temp.add(myColorButton);
+ temp.add(myEnterButton);
+ myParamFrame.add(temp, BorderLayout.SOUTH);
+ } else {
+ myParamFrame.add(myEnterButton, BorderLayout.SOUTH);
+ }
+
myParamFrame.add(myDefaultButton, BorderLayout.NORTH);
myParamFrame.add(myPanel, BorderLayout.CENTER);
- myParamFrame.add(myEnterButton, BorderLayout.SOUTH);
+
myParamFrame.setAlwaysOnTop(true);
myParamFrame.pack();
diff --git a/src/tesseract/newmenu/NewChainLinkMenuItem.java b/src/tesseract/newmenu/NewChainLinkMenuItem.java index 1011822..110c79e 100644 --- a/src/tesseract/newmenu/NewChainLinkMenuItem.java +++ b/src/tesseract/newmenu/NewChainLinkMenuItem.java @@ -88,7 +88,8 @@ public class NewChainLinkMenuItem extends MenuItem { ((Float) myParameters.get("Mass")).floatValue(),
((Float) myParameters.get("Diameter")).floatValue(),
((Float) myParameters.get("Length")).floatValue(),
- ((Float) myParameters.get("Width")).floatValue()));
+ ((Float) myParameters.get("Width")).floatValue(),
+ myColor));
params.dispose();
}
}
diff --git a/src/tesseract/newmenu/NewEllipsoidMenuItem.java b/src/tesseract/newmenu/NewEllipsoidMenuItem.java index 2261c73..d5ee1ca 100644 --- a/src/tesseract/newmenu/NewEllipsoidMenuItem.java +++ b/src/tesseract/newmenu/NewEllipsoidMenuItem.java @@ -82,7 +82,8 @@ public class NewEllipsoidMenuItem extends MenuItem { }
if (event.getSource() == enterButton) {
myWorld.addObject(new Ellipsoid(getPosition(), getMass(),
- ((Float) myParameters.get("Radius")).floatValue()));
+ ((Float) myParameters.get("Radius")).floatValue(),
+ myColor));
params.dispose();
}
}
diff --git a/src/tesseract/newmenu/NewIcosahedronMenuItem.java b/src/tesseract/newmenu/NewIcosahedronMenuItem.java index e2c8e76..d519b7d 100644 --- a/src/tesseract/newmenu/NewIcosahedronMenuItem.java +++ b/src/tesseract/newmenu/NewIcosahedronMenuItem.java @@ -80,7 +80,7 @@ public class NewIcosahedronMenuItem extends MenuItem { }
if (event.getSource() == enterButton) {
myWorld.addObject(new Icosahedron(
- getPosition(), getMass(), getScale()));
+ getPosition(), getMass(), getScale(), myColor));
params.dispose();
}
}
diff --git a/src/tesseract/newmenu/NewParticleEmitterMenuItem.java b/src/tesseract/newmenu/NewParticleEmitterMenuItem.java index dc0b1fc..04a6ca6 100644 --- a/src/tesseract/newmenu/NewParticleEmitterMenuItem.java +++ b/src/tesseract/newmenu/NewParticleEmitterMenuItem.java @@ -90,11 +90,11 @@ public class NewParticleEmitterMenuItem extends MenuItem { }
if (event.getSource() == enterButton) {
params.dispose();
- Color c = JColorChooser.showDialog(null, "Particle Color",
- Color.RED);
+ //Color c = JColorChooser.showDialog(null, "Particle Color",
+ // Color.RED);
myWorld.addObject(new ParticleEmitter(getPosition(),
((Float) myParameters.get("Frequency")).floatValue(),
- new Color3f(c)));
+ new Color3f(myColor)));
}
}
diff --git a/src/tesseract/newmenu/NewParticleMenuItem.java b/src/tesseract/newmenu/NewParticleMenuItem.java index 4b87852..360b7ed 100644 --- a/src/tesseract/newmenu/NewParticleMenuItem.java +++ b/src/tesseract/newmenu/NewParticleMenuItem.java @@ -89,10 +89,10 @@ public class NewParticleMenuItem extends MenuItem { }
if (event.getSource() == enterButton) {
params.dispose();
- Color c = JColorChooser.showDialog(null, "Particle Color",
- Color.RED);
+ //Color c = JColorChooser.showDialog(null, "Particle Color",
+ // Color.RED);
myWorld.addObject(new Particle(getPosition(), getMass(),
- new Color3f(c)));
+ new Color3f(myColor)));
}
}
diff --git a/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java b/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java index c2ea659..bb26c7c 100644 --- a/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java +++ b/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java @@ -33,7 +33,7 @@ public class NewPlanarPolygonMenuItem extends MenuItem { * @param theWorld to add objects to.
*/
public NewPlanarPolygonMenuItem(final World theWorld) {
- super(theWorld, "Planar Polygon");
+ super(theWorld, "Planar Polygon", false);
buildParams();
diff --git a/src/tesseract/newmenu/NewToroidMenuItem.java b/src/tesseract/newmenu/NewToroidMenuItem.java index 59f07e8..4656603 100644 --- a/src/tesseract/newmenu/NewToroidMenuItem.java +++ b/src/tesseract/newmenu/NewToroidMenuItem.java @@ -97,7 +97,7 @@ public class NewToroidMenuItem extends MenuItem { ((Float) myParameters.get("Toroid Radius")
).floatValue(),
((Integer) myParameters.get("Toroid Resolution")
- ).intValue()));
+ ).intValue(), myColor));
params.dispose();
}
}
|