Relação evento JButon

3 respostas
H

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();}
}

}

3 Respostas

EvertonJava

Olá …

O método principal de crir eventos para botões é o ActionListiner …

Mas vc deverá instanciar uma classe dentro desse evento, exemplo :

[b]NOMEDOBUTAO.addActionListiner(new ActionListiner(){

public void actionPerformed(ActionEvent e)

AKI VC COLOCAR O ALGORITMO Q DEVERÁ SER ACIONADO QUANDO VC CLICAR NO BOTÃO …

}

});[/b]

Link SUN sobre Butões:

http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/AbstractButton.html#actionListener

berg.pb

Vamos lembrar de colocar códigos entre as tags code.

É facil: qdo responder ou postar, antes e depois de inserir o código, clica no botão CODE.

Fica ais legível…

Abra~s

lina

berg.pb:
Vamos lembrar de colocar códigos entre as tags code.

É facil: qdo responder ou postar, antes e depois de inserir o código, clica no botão CODE.

Fica ais legível…

Abra~s

Oi,

Acho que ele até tentou… de uma olhada no inicio de sua pergunta =)

Bom, achei estranho na sua codificação isso ó:

if (1==0){

:shock:

Tchauzin!

Criado 7 de abril de 2009
Ultima resposta 8 de abr. de 2009
Respostas 3
Participantes 4