Boa noite pessol sou novo em java alg pode me ajudar como faço pra ao clicar em um botão gerar um evento …
e como faço para usau uma varialvel de outra classe, num exemplo “cor” de main em AddRouteSAIDemo
[/code]
import java.awt.<em>;
import java.util.HashMap;
import javax.swing.</em>;
import java.io.File;
import org.web3d.x3d.sai.*;
/**
- A simple example of how to use SAI to load a scene and modify a value.
*/
public class AddRouteSAIDemo extends JFrame implements X3DFieldEventListener {
private X3DScene mainScene;
/**
* Constructor for the demo.
*/
public AddRouteSAIDemo() {
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container contentPane = getContentPane();
// if (
if (1==0){
// Setup browser parameters
HashMap requestedParameters = new HashMap();
// Create an SAI component
X3DComponent x3dComp = BrowserFactory.createX3DComponent(requestedParameters);
// Add the component to the UI
JComponent x3dPanel = (JComponent)x3dComp.getImplementation();
contentPane.add(x3dPanel, BorderLayout.CENTER);
// Get an external browser
ExternalBrowser x3dBrowser = x3dComp.getBrowser();
setSize(600,500);
show();
// Create an X3D scene by loading a file
mainScene = x3dBrowser.createX3DFromURL(new String[] { "touchy_box.x3dv" });
// Replace the current world with the new one
x3dBrowser.replaceWorld(mainScene);
X3DNode mat = mainScene.getNamedNode("MAT");
if (mat == null) {
System.out.println("Couldn't find material named: MAT");
return;
}
// Get the diffuseColor field
SFColor color = (SFColor) mat.getField("diffuseColor");
// Set its value to blue
color.setValue(cor);
X3DNode ts = mainScene.getNamedNode("TOUCH_SENSOR");
if (ts == null) {
System.out.println("Couldn't find TouchSensor named: TOUCH_SENSOR");
return;
}
// Get TOUCH_SENSOR.touchTime
SFTime touchTimeField = (SFTime) ts.getField("touchTime");
touchTimeField.addX3DEventListener(this);
}
} // if
/**
* An X3D field has changed.
*
* @param evt The event.
*/
public void readableFieldChanged(X3DFieldEvent evt) {
// Find a timesensor named TIME_SENSOR
X3DNode TS = mainScene.getNamedNode("TIME_SENSOR");
X3DNode PI = mainScene.getNamedNode("PI");
X3DNode TG = mainScene.getNamedNode("TG");
mainScene.addRoute(TS,"fraction_changed",PI,"set_fraction");
mainScene.addRoute(PI,"value_changed",TG,"translation");
}
/* Main method.
*
* @param args None handled
*/
public static void main(String[] args) {
float[] cor={1,0,0};
int trans=0;
ComboBox b = new ComboBox();
if (b.txt.getText() == "Alterar para Azul")
{cor[0]=0;cor[1]=1;cor[2]=0;}
if (b.txt.getText() == "Alterar para Cor Amarelo")
{cor[0]=1;cor[1]=0;cor[2]=1;}
if (b.txt2.getText() == "Translaçao da Animação")
{ trans=1;}
b.gerar.addMouseListener(){
AddRouteSAIDemo demo = new AddRouteSAIDemo();}
}
}