From 74cdc49be9cbd5049e3ad36e93cb04af3c4c6abf Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 14 Feb 2011 23:21:29 +0000 Subject: Added Circluar force and menu item in UI Added menu for Jesse Chain2, hope you don't mind --- src/tesseract/menuitems/ChainLinkMenuItem.java | 44 +++++++++++++++++++------- 1 file changed, 32 insertions(+), 12 deletions(-) (limited to 'src/tesseract/menuitems') diff --git a/src/tesseract/menuitems/ChainLinkMenuItem.java b/src/tesseract/menuitems/ChainLinkMenuItem.java index e015b42..bfd64f1 100644 --- a/src/tesseract/menuitems/ChainLinkMenuItem.java +++ b/src/tesseract/menuitems/ChainLinkMenuItem.java @@ -4,6 +4,7 @@ import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JColorChooser; import javax.swing.JFrame; @@ -13,6 +14,7 @@ import javax.vecmath.Vector3f; import tesseract.World; import tesseract.objects.ChainLink; +import tesseract.objects.ChainLink2; import tesseract.objects.Icosahedron; import tesseract.objects.PlanarPolygon; @@ -45,31 +47,49 @@ public class ChainLinkMenuItem extends TesseractMenuItem { public void actionPerformed(final ActionEvent arg0) { createParameterMenu(); - final float scale = 1f; - final float sliceRadius = .06f; //inside whole - final int sliceDivisions = 50; - final float arcRadius = .08f; //outside whole - final int arcDivisions = 30; + final float scale = 0.5f; + //final float sliceRadius = .06f; //inside whole + //final int sliceDivisions = 50; + //final float arcRadius = .08f; //outside whole + //final int arcDivisions = 30; //If the default button is checked, the frame will close. final JCheckBox defaultButton = getDefaultButton(); final JFrame params = getParamFrame(); + final JButton enterButton = getEnterButton(); defaultButton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { if (defaultButton.isSelected()) { - myWorld.addObject(new ChainLink(getDefaultPosition(), 1, scale, - sliceRadius, sliceDivisions, arcRadius, arcDivisions)); + myWorld.addObject(new ChainLink2(getDefaultPosition(), 1, getDefaultRadius())); params.dispose(); + /*myWorld.addObject(new ChainLink(getDefaultPosition(), 1, scale, + sliceRadius, sliceDivisions, arcRadius, arcDivisions)); + params.dispose();*/ } } }); - /*Vector3f pos = - parseVector(JOptionPane.showInputDialog("Enter the position")); - float radius = - Float.parseFloat(JOptionPane.showInputDialog("Enter the radius")); - myWorld.addObject(new Icosahedron(pos, radius));*/ + enterButton.addActionListener(new ActionListener() { + public void actionPerformed(final ActionEvent event) { + String string = getPositionField().getText(); + Vector3f pos = parseVector(string); + setPosition(pos); + + String string2 = getRadiusField().getText(); + float radius = Float.parseFloat(string2); + setRadius(radius); + + String string3 = getMassField().getText(); + float mass = Float.parseFloat(string3); + setMass(mass); + + if (event.getSource() == enterButton) { + myWorld.addObject(new ChainLink2(getPosition(), getMass(), getRadius())); + params.dispose(); + } + } + }); } } -- cgit v1.2.3