Ollis: MouseListener auf Box setzen

Beitrag lesen

Hier der komplette Code (ich hab die Imports weggelassen, weil das ne ewig lange Liste ist, aber alles was importiert werden muss hierfür wurde importiert):

  
public class test extends Applet {  
  
 public BranchGroup deswirdBG(Canvas3D canvas){  
  BranchGroup meineBG=new BranchGroup();  
  
//  ---------------------------------------------------------------------------  
  TransformGroup objRotate = null;  
  Transform3D transform = new Transform3D();  
  transform.setTranslation(new Vector3f(0.6f, 0.0f, 0.6f));  
  
        objRotate = new TransformGroup(transform);  
        objRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);  
        objRotate.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);     //Erlaubt die Veränderung durch die PickBehavior Objekte  
        objRotate.setCapability(TransformGroup.ENABLE_PICK_REPORTING);  
//------------------------------------------------------------------------------  
        Inspector3DS loader=new Inspector3DS("./mon.3ds");  
        loader.setTextureLightingOn();  
        loader.setTexturePath("./");  
        loader.parseIt();  
        TransformGroup theModel=loader.getModel();  
  
  
// *******     ------------------------------------------------------------------------------  
  Appearance app_box = new Appearance();  
   ColoringAttributes c_box = new ColoringAttributes();  
   c_box.setColor(0f,1.0f,0f);  
   app_box.setColoringAttributes(c_box);  
  Box box = new Box(0.9f, 0.3f, 0.3f, app_box);  
  
   box.addMouseListener(new MyMouseListener());  
// Und genau dieses box.addMouseListener: ich darf hier keinen addMouseListener anfügen, weil er dann rummault!  
//Fehler: The method addMouseListener(MyMouseListener) is undefined for the type Box  
  
  
  
  theModel.addChild(box);  
  objRotate.addChild(theModel);  
  meineBG.addChild(objRotate);  
// *******    ------------------------------------------------------------------------------  
//      ------------------------------------------------------------------------------  
        AmbientLight meinLicht=new AmbientLight(true,new Color3f(1.0f,1.0f,1.0f));  
        meinLicht.setInfluencingBounds(new BoundingSphere(new Point3d(),10000.0f));  
        meineBG.addChild(meinLicht);  
//      ------------------------------------------------------------------------------  
  Background meinBack=new Background(new Color3f(1.0f,1.0f,1.0f));  
  meinBack.setApplicationBounds(new BoundingSphere(new Point3d(), 1000.0f)); //Steuert den hintergrund  
  meineBG.addChild(meinBack);  
//---------------------------------------------------------------------------  
  
  
  BoundingSphere behaveBounds = new BoundingSphere();  
  PickRotateBehavior pickRotate = new PickRotateBehavior(meineBG, canvas, behaveBounds);  
        PickTranslateBehavior pickTrans = new PickTranslateBehavior(meineBG, canvas, behaveBounds);  
        PickZoomBehavior pickZoom = new PickZoomBehavior(meineBG, canvas, behaveBounds);  
        meineBG.addChild(pickRotate);  
        meineBG.addChild(pickTrans);  
        meineBG.addChild(pickZoom);  
  
  meineBG.compile();  
        return meineBG;  
 }  
  
 public test(){  
  setLayout(new BorderLayout());  
        GraphicsConfiguration config =  
           SimpleUniverse.getPreferredConfiguration();  
        Canvas3D canvas3D = new Canvas3D(config);  
        add("Center", canvas3D);  
        SimpleUniverse simpleU = new SimpleUniverse(canvas3D);  
        BranchGroup scene = deswirdBG(canvas3D);  
        simpleU.getViewingPlatform().setNominalViewingTransform();  
  //-----------------------------------------------------------------------------------------  
        TransformGroup vpTrans=simpleU.getViewingPlatform().getViewPlatformTransform();  
        Vector3f translate=new Vector3f();  
        translate.set(0,0,15);  
        Transform3D T3D=new Transform3D();  //Bewegt den Punkt des Betrachters an jede beliebige Stelle  
        T3D.setTranslation(translate);  
        vpTrans.setTransform(T3D);  
  //----------------------------------------------------------------------------------  
  
        simpleU.addBranchGraph(scene);  
  
 }  
 public static void main(String[] args){  
  Frame frame=new MainFrame(new test(),500,500);  
 }  
}  
  
class MyMouseListener extends MouseAdapter {  
 public void mousePressed(MouseEvent event) {  
  System.out.println("Mouse Pressed!");  
 }  
  
 public void mouseClicked(MouseEvent e) {  
  System.out.println("Mouse Clicked!");  
 }  
 public void mouseEntered(MouseEvent e) {  
  System.out.println("Mouse Entered!");  
 }  
 public void mouseExited(MouseEvent e) {  
  System.out.println("Mouse Exited!");  
 }  
 public void mouseReleased(MouseEvent e) {  
  System.out.println("Mouse Released!");  
 }  
}