Name | Last modified | Size | Description | |
---|---|---|---|---|
Parent Directory | - | |||
AddRemove.class | 2000-05-16 17:09 | 1.9K | ||
AddRemove.java | 2000-05-16 17:13 | 2.1K | ||
README.html | 1998-01-26 17:26 | 2.1K | ||
add-remove1.html | 1998-02-05 22:21 | 822 | ||
root.wrl | 1998-01-22 09:28 | 79 | ||
This README file is NOT a tutorial, we just outline a few interesting bits of code: Getting a handle on a DEFed object in the scene. In this cas a Group (could be Transform) Node called ROOT (see the file root.wrl)
// Get root node of the scene, and its EventIns root = browser.getNode("ROOT");Once we got the handle we can get a handle to the field EventIn "addchildren" and to the field EventOut "removechildren"
addChildren = (EventInMFNode) root.getEventIn("addChildren"); removeChildren = (EventInMFNode) root.getEventIn("removeChildren");This inserts 2 Java buttons into the applet:
add(addButton = new Button("Add Sphere")); add(removeButton = new Button("Remove Sphere"));The Java method below will catch user events (e.g. user clickin on the Add Sphere Button) and then call the xxx.setValue methods. xxx is a handle for the Event fields (see above) and .setValue will set a value (in this case pass a node reference to be added or removed).
public boolean action(Event event, Object what) { // Catch all Events from type Button if (event.target instanceof Button) { Button b = (Button) event.target; // either addButton or removeButton has been clicked on if (b == addButton) { addChildren.setValue(shape); } else if (b == removeButton) { removeChildren.setValue(shape); } } return true; }