⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginapp.java

📁 Java 3D Desktop Environment旨在使用Java 3D来创建一个3D桌面环境。功能包括:分布式的应用程序
💻 JAVA
字号:
/* * Copyright (c) 2000, Niklas Mehner  * All rights reserved. *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions  * are met: *  *   - Redistributions of source code must retain the above copyright  *     notice, this list of conditions and the following disclaimer. *  *   - Redistributions in binary form must reproduce the above copyright  *     notice, this list of conditions and the following disclaimer in  *     the documentation and/or other materials provided with the  *     distribution. *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  */ package org.j3de.application.login;          

import java.rmi.RemoteException; 
import java.rmi.server.UnicastRemoteObject;

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

import org.j3de.exception.ExceptionHandler; 
import org.j3de.interfaces.Application;
import org.j3de.interfaces.ApplicationEnvironment;
import org.j3de.interfaces.LocalApplication;
import org.j3de.security.SystemSecurity;
import org.j3de.util.AbstractComponent;
import org.j3de.util.ConfigurationException; 
/** * LoginApp provides factory for LoginRemoteApps.  * The login verification is done by a SystemSecurity implementation. * * @author Niklas Mehner * @version $Revision: 1.4 $, $Date: 2000/09/08 20:50:56 $ * @since  j3de 1.0 * @see LoginRemoteApp * @see org.j3de.security.SystemSecurity */ public class LoginApp extends AbstractComponent implements LocalApplication  {  
  SystemSecurity systemSecurity;
  /**   * Creates a new LoginApp.   */  public void LoginApp() {  }      /**    * Creates a new application. The LoginRemoteApplication is created with parameters environment and   * system-security. After that a new thread of execution is started for the application.   * @param environment the environment provided by the Environment the application runs in.   * @see org.j3de.security.SystemSecurity    * @return the newly created application.   */
  public Application getApplication(ApplicationEnvironment environment) {
    try {                                  
      
      final LoginRemoteApp app = new LoginRemoteApp(environment, systemSecurity);    
      
      new Thread(new Runnable() {   
        public void run() {     
          try {
            app.run();  
          } catch (Exception e) {
            ExceptionHandler.handleException(e);
          }
        }
      }).start();
      
      UnicastRemoteObject.exportObject(app);      
      
      return app;
    } catch (RemoteException e) {   
      ExceptionHandler.handleException(e);
    } 

    return null;
  }                                                       
  /**    * Configures the application.   * The configuration-entry in the xml file should look like : <br><br>   * <code>   *  &lt;component name="wrappedComponent" classname="org.j3de.application.login.LoginApp"&gt;<br>                          *    &lt;component name="security" classname="org.j3de.security.DefaultSystemSecurity"&gt;<br>    *      &lt;!-- configuration of System security --&gt;<br>          *    &lt;/component&gt; <br>   *  &lt;/component&gt; <br>   * </code>;   *   * @param node contains the root node for the configuration of this component.   * @param nodeFactory the nodeFactory gives the component the possibility to create new configuration entries.   * @throws ConfigurationException if the configuration is incorrect   */  
  public void configure(Node node, Document nodeFactory)  throws ConfigurationException {  
    super.configure(node, nodeFactory);    
    
    try {                                     
      systemSecurity = (SystemSecurity)helper.getComponent("security", 
                                                            org.j3de.security.DefaultSystemSecurity.class,
                                                            null,
                                                            null,
                                                            this.getClass().getClassLoader()); 
    } catch (Exception e) {
      ExceptionHandler.handleException(e);
      throw new ConfigurationException("Unable to create SystemSecurity : " + e.getMessage());
    }
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -