public void propertyChange(PropertyChangeEvent e) { Object subject = e.getSource(); try { if (subject == viewPx) { float f = Float.parseFloat(viewPx.getField().getText()); if (!Float.isNaN(f)) { this.motion_future.finger_tip.x = f; moveIfAble(); } } if (subject == viewPy) { float f = Float.parseFloat(viewPy.getField().getText()); if (!Float.isNaN(f)) { this.motion_future.finger_tip.y = f; moveIfAble(); } } if (subject == viewPz) { float f = Float.parseFloat(viewPz.getField().getText()); if (!Float.isNaN(f)) { this.motion_future.finger_tip.z = f; moveIfAble(); } } if (subject == viewRx) { float f = Float.parseFloat(viewRx.getField().getText()); if (!Float.isNaN(f)) { this.motion_future.iku = f; moveIfAble(); } } if (subject == viewRy) { float f = Float.parseFloat(viewRy.getField().getText()); if (!Float.isNaN(f)) { this.motion_future.ikv = f; moveIfAble(); } } if (subject == viewRz) { float f = Float.parseFloat(viewRz.getField().getText()); if (!Float.isNaN(f)) { this.motion_future.ikw = f; moveIfAble(); } } } catch (NumberFormatException e2) { } }
@Override public ArrayList<JPanel> getControlPanels() { ArrayList<JPanel> list = super.getControlPanels(); if (list == null) list = new ArrayList<JPanel>(); CollapsiblePanel rspPanel = new CollapsiblePanel("Inverse Kinematics"); rspPanel.getContentPane().setLayout(new GridLayout(0, 1)); view_home = new JButton("Home"); viewPx = new JLabelledTextField(Float.toString(motion_now.finger_tip.x), "X"); viewPy = new JLabelledTextField(Float.toString(motion_now.finger_tip.y), "Y"); viewPz = new JLabelledTextField(Float.toString(motion_now.finger_tip.z), "Z"); viewRx = new JLabelledTextField(Float.toString(motion_now.iku), "U"); viewRy = new JLabelledTextField(Float.toString(motion_now.ikv), "V"); viewRz = new JLabelledTextField(Float.toString(motion_now.ikw), "W"); rspPanel.getContentPane().add(view_home); rspPanel.getContentPane().add(viewPx); rspPanel.getContentPane().add(viewPy); rspPanel.getContentPane().add(viewPz); rspPanel.getContentPane().add(viewRx); rspPanel.getContentPane().add(viewRy); rspPanel.getContentPane().add(viewRz); view_home.addActionListener(this); viewPx.addPropertyChangeListener("value", this); viewPy.addPropertyChangeListener("value", this); viewPz.addPropertyChangeListener("value", this); viewRx.addPropertyChangeListener("value", this); viewRy.addPropertyChangeListener("value", this); viewRz.addPropertyChangeListener("value", this); list.add(rspPanel); updateGUI(); return list; }