注:以下文字摘自 《Graphic Java 1.2 Mastering the JFC(Volume I:AWT)》(David M.Geary著),可能有些启发。对于大部分开发者而言,不需要直接处理同位体。
但是,如果构件的同位体建立以前调用Component方法,那么一些
Component方法的执行将不同。下表列出了这些方法。
同位体在构件的addNotify()方法种建立。
如果必须在构件的同位体建立以前调用下表中的方法,
那么基本上有两种选择:
可以直接调用addNotify(),这样可能导致构件同位体的建立;
或者覆盖addNotify()方法,并且调用super.addNotify()以后调用
依赖同位体的方法。
例如,……,在applet的同位体被建立以前和以后分别调用了下表中的
方法:
---------------------------------------------------------------------------
方法 在同位体建立前的行为表现Image creatImage(int,int) 返回null
ColorModel getColorModel() 返回工具箱的颜色模式
Font getFont() 返回null
FontMetrics getFontMetrics() 返回工具箱的字体尺度
Graphics getGraphics() 返回null
Insets getInsets() 返回空白区(0,0,0,0)
Dimension getPreferredSize() 返回最小尺寸
Dimension getSize() 若构件被明确规定尺寸,则返回
它的大小,否则返回一个零高度和 宽度的Demension
Toolkit getToolkit() 返回默认的工具箱
boolean isFocusTraversable() 返回false
boolean isValid() 返回false
boolean isShowing() 返回false
Print getLocationOnScreen() 抛出IllegalComponentStateException
异常
void requestFocus() 空操作
---------------------------------------------------------------------------