亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? desktopenvironment.java

?? Java 3D Desktop Environment旨在使用Java 3D來創(chuàng)建一個3D桌面環(huán)境。功能包括:分布式的應(yīng)用程序
?? JAVA
字號:
package org.j3de.environment.desktop;   

import java.awt.Font;import java.net.URL;
import java.net.MalformedURLException;
import java.rmi.RemoteException; 
import java.rmi.server.UnicastRemoteObject;
import java.util.List;
import java.util.HashMap;
   
import javax.media.j3d.AmbientLight;
import javax.media.j3d.DirectionalLight;
import javax.media.j3d.BranchGroup;
import javax.media.j3d.BoundingSphere;
import javax.media.j3d.Group;
import javax.media.j3d.InputDevice;
import javax.media.j3d.PhysicalBody;
import javax.media.j3d.PhysicalEnvironment;      
import javax.media.j3d.TransformGroup;      
import javax.media.j3d.Transform3D;      
import javax.media.j3d.Shape3D;
import javax.media.j3d.Material;
import javax.media.j3d.Appearance;
import javax.media.j3d.Text3D;
import javax.media.j3d.Font3D;
import javax.media.j3d.FontExtrusion;
import javax.media.j3d.ViewPlatform;import javax.vecmath.Point3f;  
import javax.vecmath.Point3d;
import javax.vecmath.Color3f;
import javax.vecmath.Vector3f;

import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.Document;     
import org.w3c.dom.Element;

import org.j3de.behavior.MovementBehavior;
import org.j3de.behavior.DominantHandBehavior;
import org.j3de.events.EventSources;  
import org.j3de.events.EventDispatcher;
import org.j3de.exception.ExceptionHandler; 
import org.j3de.input.InputDevices;     
import org.j3de.interfaces.Environment;     
import org.j3de.interfaces.EnvironmentManager; 
import org.j3de.util.AbstractComponent;   
import org.j3de.util.ApplicationHelper;
import org.j3de.util.InitializationException; 
import org.j3de.ui.BackgroundUIElement;
import org.j3de.ui.EnvironmentLightsUIElement;
import org.j3de.ui.UIFactory;  
import org.j3de.ui.UIRootContainer;
import org.j3de.ui.UICreationException; 
import org.j3de.ui.UIDominantHand;
import org.j3de.ui.impl.UniverseManager; 

public class DesktopEnvironment implements Environment {             
  private UIFactory uiFactory;
  private List startupURLs;
  
  private MovementBehavior     movementBehavior;  
  private DominantHandBehavior dominantHandBehavior;  

  private Vector3f position;  
   
  private transient EnvironmentManager  environmentManager;
  private transient BranchGroup         worldObjects;
  private transient ViewPlatform        platform; 
  private transient PhysicalBody        body;    
  private transient List                applications;
  private transient TransformGroup      viewTransformGroup;
  private transient TransformGroup      dominantHandTransformGroup;
  private transient EventDispatcher     eventDispatcher;
  private transient UIRootContainer     rootContainer;
  
  public DesktopEnvironment(UIFactory uiFactory, 
                            List startupURLs,
                            MovementBehavior movementBehavior,  
                            DominantHandBehavior dominantHandBehavior,
                            Vector3f position) {
    this.uiFactory   = uiFactory;
    this.startupURLs = startupURLs;     
    this.movementBehavior     = movementBehavior;
    this.dominantHandBehavior = dominantHandBehavior;
    this.position             = position;
  }
  
  public void initialize(EnvironmentManager environmentManager) throws InitializationException {     
    // Initialize local Variables with values from environmentManager 
    this.environmentManager = environmentManager;    
   
    InputDevices devices      = environmentManager.getInputDevices();
    EventSources eventSources = environmentManager.getEventSources();

    // This is our world
    worldObjects = new BranchGroup();   
    worldObjects.setCapability(Group.ALLOW_CHILDREN_READ);
    worldObjects.setCapability(Group.ALLOW_CHILDREN_WRITE);
    worldObjects.setCapability(Group.ALLOW_CHILDREN_EXTEND);     
    
    // Set up event management 
    eventDispatcher = new EventDispatcher(worldObjects);
    eventDispatcher.addFocusAware(dominantHandBehavior);
    for (int i=0; i<eventSources.getSourceCount(); i++) {
      eventDispatcher.addEventSource(eventSources.getEventSource(i), eventSources.getAssignedFocusAware(i));
    }
   
    
    // Root Container contains all UIElements, created by the environment  
    try {
      rootContainer = (UIRootContainer)uiFactory.createUIElement(org.j3de.ui.UIRootContainer.class);   
      worldObjects.addChild(rootContainer.getUILocalElement().getNode()); 
    } catch (RemoteException e) {
      // Should not happen, but handle it anyway
      ExceptionHandler.handleException(e);
    } catch (UICreationException e) {
      // Not a nice thing to happen, probably makes no sense to continue ...
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    }
    
    
    // Set up View and Input-Devices/Behaviors
    platform = new ViewPlatform();
    body     = new PhysicalBody();
    
    viewTransformGroup = new TransformGroup();  
    viewTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    viewTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); 
    
    Transform3D startPosition = new Transform3D();
    startPosition.setTranslation(position);
    viewTransformGroup.setTransform(startPosition); 
    
    movementBehavior.setSensor(devices.getSensor(devices.getMovementSensor()));
    movementBehavior.setTransformGroup(viewTransformGroup);    
        dominantHandBehavior.setSensor(devices.getSensor(devices.getDominantHand()));
                                
    worldObjects.addChild(viewTransformGroup);
    
    BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
    
    // Set up lights  
    EnvironmentLightsUIElement lights;  
                  
    try {
      lights = 
        (EnvironmentLightsUIElement)uiFactory.createUIElement(org.j3de.ui.EnvironmentLightsUIElement.class);
      rootContainer.add(lights);
    } catch (RemoteException e) {
      // Should not happen, but handle it anyway
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    } catch (UICreationException e) {
      // Not a nice thing to happen, probably makes no sense to continue ...
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    }         
    
    // Set up the background  
    BackgroundUIElement background;
           
    try {
      background = 
        (BackgroundUIElement)uiFactory.createUIElement(org.j3de.ui.BackgroundUIElement.class);            
      rootContainer.add(background);
    } catch (RemoteException e) {
      // Should not happen, but handle it anyway
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    } catch (UICreationException e) {
      // Not a nice thing to happen, probably makes no sense to continue ...
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    }       
      
    // Set up the dominant hand            
    dominantHandTransformGroup = new TransformGroup();  
    dominantHandTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
    dominantHandTransformGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_READ); 
    
    try {
      // Root Container the for the dominant "hand"  
      UIRootContainer handContainer = 
        (UIRootContainer)uiFactory.createUIElement(org.j3de.ui.UIRootContainer.class);      
      UIDominantHand hand = (UIDominantHand)uiFactory.createUIElement(org.j3de.ui.UIDominantHand.class);   
      
      handContainer.add(hand); 
      
      dominantHandTransformGroup.addChild(handContainer.getUILocalElement().getNode()); 
     
      dominantHandBehavior.setSensor(devices.getSensor(devices.getDominantHand()));
      dominantHandBehavior.setTransformGroup(dominantHandTransformGroup);    
    } catch (RemoteException e) {
      // Should not happen, but handle it anyway
      ExceptionHandler.handleException(e);
    } catch (UICreationException e) {
      // Not a nice thing to happen, probably makes no sense to continue ...
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    }
    
    viewTransformGroup.addChild(platform);
    viewTransformGroup.addChild(movementBehavior);  
    viewTransformGroup.addChild(dominantHandBehavior);
    viewTransformGroup.addChild(dominantHandTransformGroup);
    
	
    // Start the Applications
    startApplications();         
  }
                        
  private void startApplications()  throws InitializationException {      
    try {     
      UnicastRemoteObject.exportObject(uiFactory);    
      final UIRootContainer applicationContainer = 
        (UIRootContainer)uiFactory.createUIElement(org.j3de.ui.UIRootContainer.class); 
      
      BranchGroup bg = new BranchGroup();   
      bg.addChild(applicationContainer.getUILocalElement().getNode());
      
      bg.compile();
      
      synchronized (worldObjects) {
        worldObjects.addChild(bg);   
      }          
   
      for (int i=0; i<startupURLs.size(); i++) {  
        final int copyI = i;
                           
        new Thread(new Runnable() {
          public void run() {
            try {                 
              DesktopApplicationEnvironment applicationEnvironment = 
                new DesktopApplicationEnvironment(uiFactory,                                                   applicationContainer,                                                   DesktopEnvironment.this,                                                   environmentManager); 
              UnicastRemoteObject.exportObject(applicationEnvironment);   
              ApplicationHelper.getApplication((String)startupURLs.get(copyI), applicationEnvironment);         
            } catch (RemoteException e) {   
              ExceptionHandler.handleException(e);
            } catch (Exception e) {
              ExceptionHandler.handleException(e);
            }
          }
        }).start(); 
      }       
    
    } catch (RemoteException e) {
      //hmm, if this happens, something has seriously gone wrong ;)
      ExceptionHandler.handleException(e);     
      throw new InitializationException(e.getMessage());
    } catch (UICreationException e) {
      // Without gui a desktop environment ain't no fun :( 
      ExceptionHandler.handleException(e);
      throw new InitializationException(e.getMessage());
    }                 
    
    
  }
  
  public BranchGroup getWorldObject() {  
    return worldObjects;
  }
  
  public ViewPlatform getViewPlatform() {    
    return platform;
  }         
           public PhysicalBody getPhysicalBody() {        return body;  }             
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99国产精品国产精品久久| 五月天久久比比资源色| 国产精品一区专区| 久久蜜桃香蕉精品一区二区三区| 美国精品在线观看| 2024国产精品视频| 成人性生交大合| 国产精品白丝在线| 色久优优欧美色久优优| 婷婷久久综合九色综合绿巨人| 欧美伦理影视网| 国产在线精品一区二区| 欧美国产日韩a欧美在线观看| 91视频免费看| 日韩国产一区二| 精品人在线二区三区| 成人精品国产福利| 亚洲影视在线观看| 欧美电视剧免费全集观看| 国产激情偷乱视频一区二区三区| 国产精品毛片久久久久久| 色综合天天综合狠狠| 亚洲成在线观看| 亚洲乱码国产乱码精品精小说| 色哦色哦哦色天天综合| 精品在线亚洲视频| 成人免费在线播放视频| 91精品国产91综合久久蜜臀| 国产福利一区二区三区视频在线 | 亚洲精品成人a在线观看| 欧美日韩一区二区三区不卡| 精品亚洲成a人| 亚洲黄色小视频| 精品电影一区二区三区| av在线一区二区| 美女一区二区三区| 亚洲日本一区二区三区| 精品国产一区a| 欧美亚洲综合网| 国产寡妇亲子伦一区二区| 亚洲动漫第一页| 中文字幕免费不卡在线| 欧美一区二区三区视频免费| 99精品一区二区三区| 精品一区二区免费视频| 亚洲成人午夜影院| 中文字幕在线不卡| 精品久久久久久无| 欧美日韩mp4| 99久久精品一区| 国产精品影视天天线| 午夜精品久久久久久久久| 国产精品护士白丝一区av| 一级中文字幕一区二区| 国产欧美日韩精品一区| 日韩精品一区二区三区蜜臀| 在线观看日韩电影| 91一区一区三区| 国产69精品一区二区亚洲孕妇| 美日韩一区二区三区| 亚洲成人久久影院| 亚洲免费av观看| 国产精品久久久久一区二区三区 | 亚洲精品国久久99热| 国产日韩视频一区二区三区| 日韩欧美www| 日韩一区二区影院| 91精品国产91热久久久做人人| 欧美亚洲自拍偷拍| 91电影在线观看| 色综合天天综合色综合av | 另类人妖一区二区av| 香蕉久久夜色精品国产使用方法 | 欧美日韩国产成人在线91| 91美女片黄在线观看| 99天天综合性| 91丨九色丨尤物| 91网页版在线| 亚洲国产成人午夜在线一区| 欧美精品一区二区在线播放| 日韩精品最新网址| 欧美va亚洲va| 欧美精品一区二区久久久| 欧美mv和日韩mv的网站| 精品奇米国产一区二区三区| 2024国产精品视频| 久久久久久久久久久久久久久99| 26uuu精品一区二区| 久久久99久久精品欧美| 国产精品热久久久久夜色精品三区| 国产亚洲1区2区3区| 中文在线一区二区| 亚洲欧美日韩成人高清在线一区| 亚洲免费电影在线| 日日夜夜精品视频天天综合网| 日韩一区精品视频| 久久国产免费看| 国产suv一区二区三区88区| 99久久免费国产| 欧美无人高清视频在线观看| 777欧美精品| www一区二区| 亚洲欧美一区二区三区极速播放 | 视频一区欧美精品| 美女任你摸久久 | 成人性生交大合| 色狠狠色狠狠综合| 日韩一级片网站| 日本一区二区三区四区 | 国产区在线观看成人精品| 国产精品久久免费看| 亚洲一区二区3| 精品一区中文字幕| 精品国产一区二区三区不卡| 中文文精品字幕一区二区| 亚洲国产视频一区二区| 另类小说欧美激情| 色94色欧美sute亚洲线路一ni| 91麻豆精品国产91久久久久久久久 | 亚洲欧美一区二区不卡| 亚洲成人在线观看视频| 国产另类ts人妖一区二区| 色综合色综合色综合色综合色综合 | 国产不卡在线视频| 欧美午夜精品电影| 久久久久九九视频| 亚洲成人精品影院| 成人黄色电影在线| 日韩精品一区二区三区老鸭窝| 亚洲图片激情小说| 激情成人午夜视频| 欧美视频一区二区三区四区| 久久精品欧美日韩精品| 五月综合激情网| 91女厕偷拍女厕偷拍高清| 精品国产一二三区| 亚洲成av人片在线观看| 91在线精品一区二区| xnxx国产精品| 三级欧美在线一区| 欧美在线一二三| 中文字幕一区二区在线观看| 韩国女主播成人在线观看| 欧美日本一道本| 亚洲黄色录像片| 99精品视频在线观看免费| 久久午夜羞羞影院免费观看| 丝袜美腿亚洲综合| 欧美日韩小视频| 一区二区三区四区蜜桃| 99久久精品免费看| 日本一区免费视频| 国产精品中文字幕日韩精品 | 亚洲自拍偷拍九九九| 成人丝袜18视频在线观看| 欧美精品一区二区三区蜜桃| 日韩精品国产精品| 欧美精品久久久久久久多人混战| 亚洲视频在线一区| 99精品国产热久久91蜜凸| 国产精品美女久久久久久久| 久久国产精品无码网站| 日韩欧美专区在线| 麻豆精品久久久| 日韩一区二区三区精品视频| 日韩高清一区在线| 91精品国产色综合久久不卡电影| 五月婷婷激情综合网| 欧美日韩精品久久久| 亚洲成人av一区| 欧美日韩高清一区二区不卡| 午夜精品久久久久| 91精品国产综合久久久蜜臀粉嫩| 日日骚欧美日韩| 日韩欧美一级精品久久| 久久国产三级精品| 国产欧美日韩精品在线| 成人免费视频播放| 亚洲色图制服丝袜| 欧美日韩日日摸| 奇米一区二区三区| 精品国产欧美一区二区| 国产99久久久久| 自拍偷拍国产亚洲| 欧美性xxxxx极品少妇| 日韩精品欧美精品| www国产成人免费观看视频 深夜成人网 | 日韩欧美的一区二区| 韩国v欧美v日本v亚洲v| 国产精品毛片大码女人| 日本韩国视频一区二区| 日韩成人av影视| 久久蜜桃av一区二区天堂| av中文字幕不卡| 亚洲国产一区二区三区青草影视| 91麻豆精品国产综合久久久久久 | 香蕉乱码成人久久天堂爱免费| 欧美一区二区三区免费| 国产精品99久久久久久似苏梦涵| 国产精品欧美久久久久无广告 |