Module  java.desktop
软件包  java.beans

Class Beans



  • public class Beans
    extends Object
    这个类提供了一些通用的bean控制方法。
    从以下版本开始:
    1.1
    • 构造方法详细信息

      • Beans

        public Beans​()
    • 方法详细信息

      • instantiate

        public static Object instantiate​(ClassLoader cls,
                                         String beanName)
                                  throws IOException,
                                         ClassNotFoundException

        实例化JavaBean。

        参数
        cls - 我们应该从中创建bean的类加载器。 如果为空,则使用系统类加载器。
        beanName - 类加载器中的bean的名称。 例如“sun.beanbox.foobah”
        结果
        一个JavaBean
        异常
        ClassNotFoundException - 如果无法找到序列化对象的类。
        IOException - 如果发生I / O错误。
      • instantiate

        public static Object instantiate​(ClassLoader cls,
                                         String beanName,
                                         BeanContext beanContext)
                                  throws IOException,
                                         ClassNotFoundException

        实例化JavaBean。

        参数
        cls - 我们应该从中创建bean的类加载器。 如果为空,则使用系统类加载器。
        beanName - 类加载器中的bean的名称。 例如“sun.beanbox.foobah”
        beanContext - 嵌套新bean的BeanContext
        结果
        一个JavaBean
        异常
        ClassNotFoundException - 如果找不到序列化对象的类。
        IOException - 如果发生I / O错误。
        从以下版本开始:
        1.2
      • instantiate

        @Deprecated(since="9")
        public static Object instantiate​(ClassLoader cls,
                                         String beanName,
                                         BeanContext beanContext,
                                         AppletInitializer initializer)
                                  throws IOException,
                                         ClassNotFoundException
        已过时。 建议使用instantiate(ClassLoader, String, BeanContext) ,因为Applet API已被弃用。 有关详细信息,请参阅java.applet package documentation
        实例化一个bean。

        bean是基于相对于类加载器的名称创建的。 该名称应该是一个点分隔的名称,如“abc”。

        在Bean 1.0中,给定的名称可以指示序列化对象或类。 今后还可能增加其他机制。 在bean 1.0中,我们首先尝试将beanName作为序列化对象名称作为类名称。

        当使用beanName作为序列化对象名称时,我们将给定的beanName转换为资源路径名,并添加尾随的“.ser”后缀。 然后,我们尝试从该资源加载序列化对象。

        例如,给定一个beanName为“xy”,Beans.instantiate将首先尝试从资源“x / y.ser”读取序列化对象,如果失败,它将尝试加载类“xy”并创建一个实例的那个班。

        如果bean是java.applet.Applet的子类型,那么它将被给予一些特殊的初始化。 首先,它提供了一个默认的AppletStub和AppletContext。 其次,如果从类名中实例化,则调用applet的“init”方法。 (如果bean被反序列化,则跳过此步骤。)

        请注意,对于applet的bean来说,调用者的责任是在applet上调用“start”。 为了正确的行为,应该在将小程序添加到可见的AWT容器之后完成。

        请注意,通过beans.instantiate创建的applet在与浏览器中运行的applet稍微不同的环境中运行。 特别是,bean applet无法访问“参数”,所以他们可能希望提供属性get / set方法来设置参数值。 我们建议bean-applet开发人员对JDK appletviewer(参考浏览器环境)和BDK BeanBox(对于引用bean容器)来测试他们的bean-applet。

        参数
        cls - 我们应该从中创建bean的类加载器。 如果为空,则使用系统类加载器。
        beanName - 类加载器中的bean的名称。 例如“sun.beanbox.foobah”
        beanContext - 嵌套新bean的BeanContext
        initializer - 新bean的AppletInitializer
        结果
        一个JavaBean
        异常
        ClassNotFoundException - 如果无法找到序列化对象的类。
        IOException - 如果发生I / O错误。
        从以下版本开始:
        1.2
      • getInstanceOf

        public static Object getInstanceOf​(Object bean,
                                           Class<?> targetType)
        从给定的bean获取表示该源对象的指定类型视图的对象。

        结果可能是相同的对象或不同的对象。 如果请求的目标视图不可用,则返回给定的bean。

        此方法在Beans 1.0中作为钩子提供,以便将来可以添加更灵活的bean行为。

        参数
        bean - 要从中获取视图的对象。
        targetType - 我们想要获得的视图类型。
        结果
        表示源对象的指定类型视图的对象
      • isInstanceOf

        public static boolean isInstanceOf​(Object bean,
                                           Class<?> targetType)
        检查一个bean是否可以被看作给定的目标类型。 如果可以在给定的bean上使用Beans.getInstanceof方法来获取表示指定的targetType类型视图的对象,结果将成立。
        参数
        bean - 我们要从中获取一个视图的Bean。
        targetType - 我们想要得到的视图的类型。
        结果
        如果给定的bean支持给定的targetType,则为“true”。
      • isDesignTime

        public static boolean isDesignTime​()
        测试我们是否处于设计模式。
        结果
        如果我们在应用程序构建环境中运行,则为true。
        另请参见:
        DesignMode
      • isGuiAvailable

        public static boolean isGuiAvailable​()
        确定bean是否可以承担GUI可用。
        结果
        如果我们正在一个环境中运行,如果bean可以假定交互式GUI可用,那么它们可以弹出对话框等。这通常会在窗口环境中返回true,并且通常在服务器环境中返回false应用程序作为批处理作业的一部分运行。
        另请参见:
        Visibility
      • setDesignTime

        public static void setDesignTime​(boolean isDesignTime)
                                  throws SecurityException
        用于指示我们是否在应用程序构建器环境中运行。

        请注意,此方法是安全检查的,不可用(例如)不可信applet。 更具体地说,如果有安全管理器,则调用其checkPropertiesAccess方法。 这可能会导致SecurityException。

        参数
        isDesignTime - 如果我们在应用程序构建器工具中, isDesignTime真。
        异常
        SecurityException - 如果存在安全管理员,并且其 checkPropertiesAccess方法不允许设置系统属性。
        另请参见:
        SecurityManager.checkPropertiesAccess()
      • setGuiAvailable

        public static void setGuiAvailable​(boolean isGuiAvailable)
                                    throws SecurityException
        用于指示我们是否在可以进行GUI交互的环境中运行。

        请注意,此方法是安全检查的,不可用(例如)不可信applet。 更具体地说,如果有安全管理器,则调用其checkPropertiesAccess方法。 这可能会导致SecurityException。

        参数
        isGuiAvailable - 如果GUI交互可用, isGuiAvailable真。
        异常
        SecurityException - 如果存在安全管理员,并且其 checkPropertiesAccess方法不允许设置系统属性。
        另请参见:
        SecurityManager.checkPropertiesAccess()