public abstract class Toolkit extends Object
Toolkit类用于将各种组件绑定到特定的本地工具包实现。
如果没有明确指定相反的情况,许多GUI事件可能异步传递给用户。 以及许多GUI操作可以异步执行。 这个事实意味着如果组件的状态被设置,然后立即查询状态,则返回的值可能还未反映所请求的更改。 此行为包括但不限于:
ScrollPane.setScrollPosition然后getScrollPosition可能返回不正确的值。 setVisible(true)上Window , Frame或Dialog可能异步发生。 setSize , setBounds或setLocation上的Window , Frame或Dialog被转发到底层窗口管理系统,并且可以被忽略或修改。 见Window以获取更多信息。 大多数应用程序不应该直接调用此类中的任何方法。 通过定义的方法Toolkit是“胶水”的加入在独立于平台的类java.awt包与他们在同行java.awt.peer 。 Toolkit定义的一些方法直接查询本地操作系统。
| Modifier and Type | Field and Description |
|---|---|
protected Map<String,Object> |
desktopProperties |
protected PropertyChangeSupport |
desktopPropsSupport |
| Constructor and Description |
|---|
Toolkit() |
| Modifier and Type | Method and Description |
|---|---|
void |
addAWTEventListener(AWTEventListener listener, long eventMask)
添加AWTEventListener以接收符合给定
eventMask系统范围内发送的所有
eventMask 。
|
void |
addPropertyChangeListener(String name, PropertyChangeListener pcl)
为指定的桌面属性添加指定的属性更改侦听器。
|
boolean |
areExtraMouseButtonsEnabled()
报告是否允许将额外的鼠标按钮的事件处理并发布到
EventQueue 。
|
abstract void |
beep()
根据本地系统设置和硬件功能发出音频蜂鸣声。
|
abstract int |
checkImage(Image image, int width, int height, ImageObserver observer)
表示准备显示的指定图像的构造状态。
|
protected abstract java.awt.peer.ButtonPeer |
createButton(Button target)
创建此工具包的实施
Button使用指定同级件接口。
|
protected abstract java.awt.peer.CanvasPeer |
createCanvas(Canvas target)
创建此工具包的实施
Canvas使用指定同级件接口。
|
protected abstract java.awt.peer.CheckboxPeer |
createCheckbox(Checkbox target)
创建此工具包的实施
Checkbox使用指定同级件接口。
|
protected abstract java.awt.peer.CheckboxMenuItemPeer |
createCheckboxMenuItem(CheckboxMenuItem target)
创建此工具包的实施
CheckboxMenuItem使用指定同级件接口。
|
protected abstract java.awt.peer.ChoicePeer |
createChoice(Choice target)
创建此工具包的实施
Choice使用指定同级件接口。
|
protected java.awt.peer.LightweightPeer |
createComponent(Component target)
创建组件或容器的对等体。
|
Cursor |
createCustomCursor(Image cursor, Point hotSpot, String name)
创建一个新的自定义光标对象。
|
protected abstract java.awt.peer.DesktopPeer |
createDesktopPeer(Desktop target)
创建此工具包的实施
Desktop使用指定同级件接口。
|
protected abstract java.awt.peer.DialogPeer |
createDialog(Dialog target)
创建此工具包的实施
Dialog使用指定同级件接口。
|
<T extends DragGestureRecognizer> |
createDragGestureRecognizer(类<T> abstractRecognizerClass, DragSource ds, Component c, int srcActions, DragGestureListener dgl)
创建一个具体的,依赖平台的抽象DragGestureRecognizer类的子类,并将其与指定的DragSource,Component和DragGestureListener相关联。
|
abstract java.awt.dnd.peer.DragSourceContextPeer |
createDragSourceContextPeer(DragGestureEvent dge)
创建一个DragSourceContext的对等体。
|
protected abstract java.awt.peer.FileDialogPeer |
createFileDialog(FileDialog target)
创建此工具包的实施
FileDialog使用指定同级件接口。
|
protected abstract java.awt.peer.FramePeer |
createFrame(Frame target)
创建此工具包的实施
Frame使用指定同级件接口。
|
Image |
createImage(byte[] imagedata)
创建解码存储在指定字节数组中的图像的图像。
|
abstract Image |
createImage(byte[] imagedata, int imageoffset, int imagelength)
创建一个图像,解码存储在指定字节数组中的图像,并以指定的偏移量和长度。
|
abstract Image |
createImage(ImageProducer producer)
使用指定的图像生成器创建图像。
|
abstract Image |
createImage(String filename)
返回从指定文件获取像素数据的图像。
|
abstract Image |
createImage(URL url)
返回从指定的URL获取像素数据的图像。
|
protected abstract java.awt.peer.LabelPeer |
createLabel(Label target)
创建此工具包的实施
Label使用指定同级件接口。
|
protected abstract java.awt.peer.ListPeer |
createList(List target)
创建此工具包的实施
List使用指定同级件接口。
|
protected abstract java.awt.peer.MenuPeer |
createMenu(Menu target)
创建此工具包的实施
Menu使用指定同级件接口。
|
protected abstract java.awt.peer.MenuBarPeer |
createMenuBar(MenuBar target)
创建此工具包的实施
MenuBar使用指定同级件接口。
|
protected abstract java.awt.peer.MenuItemPeer |
createMenuItem(MenuItem target)
创建此工具包的实施
MenuItem使用指定同级件接口。
|
protected abstract java.awt.peer.PanelPeer |
createPanel(Panel target)
创建此工具包的实施
Panel使用指定同级件接口。
|
protected abstract java.awt.peer.PopupMenuPeer |
createPopupMenu(PopupMenu target)
创建此工具包的实施
PopupMenu使用指定同级件接口。
|
protected abstract java.awt.peer.ScrollbarPeer |
createScrollbar(Scrollbar target)
创建此工具包的实施
Scrollbar使用指定同级件接口。
|
protected abstract java.awt.peer.ScrollPanePeer |
createScrollPane(ScrollPane target)
创建此工具包的实施
ScrollPane使用指定同级件接口。
|
protected abstract java.awt.peer.TextAreaPeer |
createTextArea(TextArea target)
创建此工具包的实施
TextArea使用指定同级件接口。
|
protected abstract java.awt.peer.TextFieldPeer |
createTextField(TextField target)
创建此工具包的实施
TextField使用指定同级件接口。
|
protected abstract java.awt.peer.WindowPeer |
createWindow(Window target)
创建此工具包的实施
Window使用指定同级件接口。
|
AWTEventListener[] |
getAWTEventListeners()
返回在该工具包上
AWTEventListener的所有
AWTEventListener的数组。
|
AWTEventListener[] |
getAWTEventListeners(long eventMask)
返回在此工具包上
AWTEventListener的所有
AWTEventListener的数组,该数组侦听
eventMask参数中指定的所有事件类型。
|
Dimension |
getBestCursorSize(int preferredWidth, int preferredHeight)
返回最接近所需大小的支持的光标维度。
|
abstract ColorModel |
getColorModel()
确定该工具包屏幕的颜色模型。
|
static Toolkit |
getDefaultToolkit()
获取默认工具包。
|
Object |
getDesktopProperty(String propertyName)
获取指定的桌面属性的值。
|
abstract String[] |
getFontList()
|
abstract FontMetrics |
getFontMetrics(Font font)
已弃用
从JDK 1.2版开始,替换为
Font方法getLineMetrics 。
|
protected abstract java.awt.peer.FontPeer |
getFontPeer(String name, int style)
已弃用
请参阅java.awt.GraphicsEnvironment#getAllFonts
|
abstract Image |
getImage(String filename)
返回从指定文件获取像素数据的图像,其格式可以是GIF,JPEG或PNG。
|
abstract Image |
getImage(URL url)
返回从指定的URL获取像素数据的图像。
|
boolean |
getLockingKeyState(int keyCode)
返回键盘上给定的锁定键是否处于“开启”状态。
|
int |
getMaximumCursorColors()
返回Toolkit在自定义光标调色板中支持的最大颜色数。
|
int |
getMenuShortcutKeyMask()
确定哪个修饰键是菜单快捷键的适当加速键。
|
protected java.awt.peer.MouseInfoPeer |
getMouseInfoPeer()
此工具包的实施辅助类的
MouseInfo操作。
|
protected static Container |
getNativeContainer(Component c)
给本地对等体提供给本地组件查询本机容器的能力(例如,直接父级可能是轻量级的)。
|
PrintJob |
getPrintJob(Frame frame, String jobtitle, JobAttributes jobAttributes, PageAttributes pageAttributes)
获取
PrintJob对象,这是在工具包的平台上启动打印操作的结果。
|
abstract PrintJob |
getPrintJob(Frame frame, String jobtitle, Properties props)
获取
PrintJob对象,这是在工具包的平台上启动打印操作的结果。
|
static String |
getProperty(String key, String defaultValue)
获取具有指定键和默认值的属性。
|
PropertyChangeListener[] |
getPropertyChangeListeners()
返回在此工具包上注册的所有属性更改侦听器的数组。
|
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName)
返回与指定的桌面属性名称相关联的所有属性更改侦听器的数组。
|
Insets |
getScreenInsets(GraphicsConfiguration gc)
获取屏幕的插图。
|
abstract int |
getScreenResolution()
以英寸为单位返回屏幕分辨率。
|
abstract Dimension |
getScreenSize()
获取屏幕的大小。
|
abstract Clipboard |
getSystemClipboard()
获取与本地平台提供的剪贴板工具接口的系统剪贴板的单例实例。
|
EventQueue |
getSystemEventQueue()
获取应用程序或小程序的EventQueue实例。
|
protected abstract EventQueue |
getSystemEventQueueImpl()
获取应用程序或小程序的
EventQueue实例,而无需检查访问。
|
Clipboard |
getSystemSelection()
获取系统选择的单例实例为
Clipboard对象。
|
protected void |
initializeDesktopProperties()
initializeDesktopProperties
|
boolean |
isAlwaysOnTopSupported()
返回此工具包是否支持始终在线模式。
|
boolean |
isDynamicLayoutActive()
返回容器在resize上的动态布局当前是否处于活动状态(均设置在程序(
isDynamicLayoutSet() )中,并由底层操作系统和/或窗口管理器支持)。
|
protected boolean |
isDynamicLayoutSet()
返回容器的布局在调整大小期间是否动态进行验证,或者在调整大小之后静态地验证。
|
boolean |
isFrameStateSupported(int state)
返回Toolkit是否支持
Frame的这种状态。
|
abstract boolean |
isModalExclusionTypeSupported(Dialog.ModalExclusionType modalExclusionType)
返回此工具包是否支持给定的模式排除类型。
|
abstract boolean |
isModalityTypeSupported(Dialog.ModalityType modalityType)
返回此工具包是否支持给定的模态类型。
|
protected Object |
lazilyLoadDesktopProperty(String name)
懒惰评估桌面属性值的机会。
|
protected void |
loadSystemColors(int[] systemColors)
填充以当前系统颜色值作为参数提供的整数数组。
|
abstract Map<TextAttribute,?> |
mapInputMethodHighlight(InputMethodHighlight highlight)
返回给定输入法突出显示的抽象级别描述的可视属性映射,如果没有找到映射,则返回null。
|
abstract boolean |
prepareImage(Image image, int width, int height, ImageObserver observer)
准备渲染图像。
|
void |
removeAWTEventListener(AWTEventListener listener)
从接收发送的AWTEvent中删除AWTEventListener。
|
void |
removePropertyChangeListener(String name, PropertyChangeListener pcl)
为指定的桌面属性移除指定的属性更改侦听器。
|
protected void |
setDesktopProperty(String name, Object newValue)
将指定的桌面属性设置为指定的值,并触发属性更改事件以通知任何侦听器该值已更改。
|
void |
setDynamicLayout(boolean dynamic)
控制容器的布局在调整大小期间是否动态地进行验证,或者在调整大小之后静态地进行。
|
void |
setLockingKeyState(int keyCode, boolean on)
设置键盘上给定锁定键的状态。
|
abstract void |
sync()
同步该工具包的图形状态。
|
protected final PropertyChangeSupport desktopPropsSupport
protected abstract java.awt.peer.DesktopPeer createDesktopPeer(Desktop target) throws HeadlessException
Desktop使用指定同级件接口。
target - 要实现的桌面
Desktop
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Desktop , DesktopPeer
protected abstract java.awt.peer.ButtonPeer createButton(Button target) throws HeadlessException
Button使用指定同级件接口。
target - 要实现的按钮。
Button 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Button , ButtonPeer
protected abstract java.awt.peer.TextFieldPeer createTextField(TextField target) throws HeadlessException
TextField使用指定同级件接口。
target - 要实现的文本字段。
TextField 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , TextField , TextFieldPeer
protected abstract java.awt.peer.LabelPeer createLabel(Label target) throws HeadlessException
Label使用指定同级件接口。
target - 要实施的标签。
Label 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Label , LabelPeer
protected abstract java.awt.peer.ListPeer createList(List target) throws HeadlessException
List使用指定同级件接口。
target - 要实施的清单。
List 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , List , ListPeer
protected abstract java.awt.peer.CheckboxPeer createCheckbox(Checkbox target) throws HeadlessException
Checkbox使用指定同级件接口。
target - 要实施的复选框。
Checkbox 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Checkbox , CheckboxPeer
protected abstract java.awt.peer.ScrollbarPeer createScrollbar(Scrollbar target) throws HeadlessException
Scrollbar使用指定同级件接口。
target - 要实现的滚动条。
Scrollbar 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Scrollbar , ScrollbarPeer
protected abstract java.awt.peer.ScrollPanePeer createScrollPane(ScrollPane target) throws HeadlessException
ScrollPane使用指定同级件接口。
target - 要实现的滚动窗格。
ScrollPane 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , ScrollPane , ScrollPanePeer
protected abstract java.awt.peer.TextAreaPeer createTextArea(TextArea target) throws HeadlessException
TextArea使用指定同级件接口。
target - 要实现的文本区域。
TextArea 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , TextArea , TextAreaPeer
protected abstract java.awt.peer.ChoicePeer createChoice(Choice target) throws HeadlessException
Choice使用指定同级件接口。
target - 要实施的选择。
Choice 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Choice , ChoicePeer
protected abstract java.awt.peer.FramePeer createFrame(Frame target) throws HeadlessException
Frame使用指定同级件接口。
target - 要实现的框架。
Frame 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Frame , FramePeer
protected abstract java.awt.peer.CanvasPeer createCanvas(Canvas target)
Canvas使用指定同级件接口。
target - 要实现的画布。
Canvas 。
Canvas , CanvasPeer
protected abstract java.awt.peer.PanelPeer createPanel(Panel target)
Panel使用指定同级件接口。
target - 要实施的小组。
Panel 。
Panel , PanelPeer
protected abstract java.awt.peer.WindowPeer createWindow(Window target) throws HeadlessException
Window使用指定同级件接口。
target - 要实现的窗口。
Window 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Window , WindowPeer
protected abstract java.awt.peer.DialogPeer createDialog(Dialog target) throws HeadlessException
Dialog使用指定同级件接口。
target - 要实现的对话框。
Dialog 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Dialog , DialogPeer
protected abstract java.awt.peer.MenuBarPeer createMenuBar(MenuBar target) throws HeadlessException
MenuBar使用指定同级件接口。
target - 要实现的菜单栏。
MenuBar 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , MenuBar , MenuBarPeer
protected abstract java.awt.peer.MenuPeer createMenu(Menu target) throws HeadlessException
Menu使用指定同级件接口。
target - 要实现的菜单。
Menu 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Menu , MenuPeer
protected abstract java.awt.peer.PopupMenuPeer createPopupMenu(PopupMenu target) throws HeadlessException
PopupMenu使用指定同级件接口。
target - 要实现的弹出菜单。
PopupMenu 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , PopupMenu , PopupMenuPeer
protected abstract java.awt.peer.MenuItemPeer createMenuItem(MenuItem target) throws HeadlessException
MenuItem使用指定同级件接口。
target - 要实现的菜单项。
MenuItem 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , MenuItem , MenuItemPeer
protected abstract java.awt.peer.FileDialogPeer createFileDialog(FileDialog target) throws HeadlessException
FileDialog使用指定同级件接口。
target - 要实现的文件对话框。
FileDialog 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , FileDialog , FileDialogPeer
protected abstract java.awt.peer.CheckboxMenuItemPeer createCheckboxMenuItem(CheckboxMenuItem target) throws HeadlessException
CheckboxMenuItem使用指定同级件接口。
target - 要实现的复选框菜单项。
CheckboxMenuItem 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , CheckboxMenuItem , CheckboxMenuItemPeer
protected java.awt.peer.MouseInfoPeer getMouseInfoPeer()
MouseInfo操作。
MouseInfo
UnsupportedOperationException - 如果未执行此操作
MouseInfoPeer , MouseInfo
protected java.awt.peer.LightweightPeer createComponent(Component target)
target - 要创建的组件。
@Deprecated protected abstract java.awt.peer.FontPeer getFontPeer(String name, int style)
Font使用指定同级件接口。
name - 要实现的字体
style -字体的样式,如
PLAIN ,
BOLD ,
ITALIC ,或它们的组合
Font
Font , FontPeer , GraphicsEnvironment.getAllFonts()
protected void loadSystemColors(int[] systemColors)
throws HeadlessException
systemColors - 整数数组。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public void setDynamicLayout(boolean dynamic)
throws HeadlessException
isDynamicLayoutActive()来检测此程序是否启用此功能,并由此操作系统和/或窗口管理器支持。
请注意,此功能不支持在所有平台上,相反,在某些平台上无法关闭此功能。
在这些平台上,不支持(或始终支持)调整大小时的动态布局,设置此属性不起作用。
请注意,在某些平台上,该功能可以作为操作系统或窗口管理器的属性进行设置或取消设置。
在这样的平台上,动态resize属性必须设置在操作系统或窗口管理器级别,此方法才能生效。
此方法不会更改底层操作系统或窗口管理器的支持或设置。
可以使用getDesktopProperty(“awt.dynamicLayoutSupported”)方法查询OS / WM支持。
dynamic - 如果为true,则容器应在容器调整大小时重新布局其组件。
如果为false,布局将在调整大小完成后验证。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
isDynamicLayoutSet() ,
isDynamicLayoutActive() ,
getDesktopProperty(String propertyName) ,
GraphicsEnvironment.isHeadless()
protected boolean isDynamicLayoutSet()
throws HeadlessException
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
setDynamicLayout(boolean dynamic) ,
isDynamicLayoutActive() ,
getDesktopProperty(String propertyName) ,
GraphicsEnvironment.isHeadless()
public boolean isDynamicLayoutActive()
throws HeadlessException
isDynamicLayoutSet() )中,并由底层操作系统和/或窗口管理器支持)。
如果动态布局当前处于非活动状态,则容器在调整大小时将重新布局其组件。
因此, Component.validate()方法将仅调用一次调整大小。
如果动态布局当前处于活动状态,则Containers会在每个本机resize事件上重新布局其组件,并且每次将调用validate()方法。
可以使用getDesktopProperty(“awt.dynamicLayoutSupported”)方法查询OS / WM支持。
HeadlessException - 如果GraphicsEnvironment.isHeadless()方法返回true
setDynamicLayout(boolean dynamic) ,
isDynamicLayoutSet() ,
getDesktopProperty(String propertyName) ,
GraphicsEnvironment.isHeadless()
public abstract Dimension getScreenSize() throws HeadlessException
GraphicsConfiguration和GraphicsDevice 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsConfiguration.getBounds() ,
GraphicsDevice.getDisplayMode() ,
GraphicsEnvironment.isHeadless()
public abstract int getScreenResolution()
throws HeadlessException
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public Insets getScreenInsets(GraphicsConfiguration gc) throws HeadlessException
gc - a
GraphicsConfiguration
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public abstract ColorModel getColorModel() throws HeadlessException
ColorModel是一个抽象类,封装了在图像的像素值与其红,绿,蓝和阿尔法分量之间进行转换的能力。
这个工具包方法是由getColorModel的Component类调用的。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , ColorModel , Component.getColorModel()
@Deprecated public abstract String[] getFontList()
对于1.1,不推荐使用以下字体名称(替换名称如下):
ZapfDingbats fontname在1.1中也被弃用,但字符以Unicode开头,以0x2700为单位,从1.1开始,Java支持这些字符。
GraphicsEnvironment.getAvailableFontFamilyNames()
@Deprecated public abstract FontMetrics getFontMetrics(Font font)
Font替换getLineMetrics 。
font - 一种字体
LineMetrics , Font.getLineMetrics(java.lang.String, java.awt.font.FontRenderContext) , GraphicsEnvironment.getScreenDevices()
public abstract void sync()
此方法可确保显示器是最新的。 它对动画有用。
public static Toolkit getDefaultToolkit()
如果命名的系统属性"java.awt.headless"设置为true那么无头执行Toolkit使用。
如果没有"java.awt.headless"或设置为false ,并且有一个名为"awt.toolkit"的系统属性,该属性将被视为Toolkit子类的Toolkit ; 否则使用默认的平台特定实现Toolkit 。
还可以使用“accessibility.properties”文件中的一行,使用Sun参考实现中指定的属性“assistive_technologies”将额外的类加载到VM中。 形式是“assistive_technologies = ...”,其中“...”是用于加载的辅助技术类的逗号分隔列表。 每个类都按照给定的顺序加载,每个类的单个实例使用Class.forName(class).newInstance()创建。 这是在创建AWT工具包之后完成的。 所有错误都通过AWTError异常处理。
AWTError - 如果找不到工具包,或者无法访问或实例化。
public abstract Image getImage(String filename)
由于促进共享Image对象所需的Image可能会继续保持不再在无限期内使用的图像,因此鼓励开发人员通过使用createImage变体实现自己的缓存图像。 如果指定文件中包含的图像数据发生更改,则Image方法返回的Image对象可能仍包含从先前调用后从文件加载的过时信息。 以前加载的图像数据可以通过在返回的Image上调用flush方法手动Image 。
此方法首先检查是否安装了安全管理器。 如果是这样,该方法会使用指定的文件调用安全管理器的checkRead方法,以确保允许对该映像的访问。
filename - 包含识别文件格式的像素数据的文件的名称。
SecurityException - 如果安全管理器存在,并且其checkRead方法不允许操作。
createImage(java.lang.String)
public abstract Image getImage(URL url)
由于促进共享Image对象所需的Image可能会继续保持不再使用无限期的图像,因此鼓励开发人员通过使用createImage变体实现自己的缓存图像。 如果指定URL存储的图像数据发生变化,则Image方法返回的Image对象可能仍然包含在先前调用之后从URL中获取的过期信息。 以前加载的图像数据可以通过在返回的Image上调用flush方法手动Image 。
此方法首先检查是否安装了安全管理器。 如果是这样,该方法使用url.openConnection()。getPermission()权限调用安全管理器的checkPermission方法,以确保允许对该映像的访问。 为了与1.2之前的安全管理员兼容,如果访问被拒绝使用FilePermission或SocketPermission ,该方法会抛出SecurityException如果相应的1.1型SecurityManager.checkXXX方法也拒绝许可。
url - 用于获取像素数据的URL。
SecurityException - 如果安全管理器存在,并且其checkPermission方法不允许操作。
createImage(java.net.URL)
public abstract Image createImage(String filename)
此方法首先检查是否安装了安全管理器。 如果是这样,该方法使用指定的文件调用安全管理器的checkRead方法,以确保允许创建映像。
filename - 包含识别文件格式的像素数据的文件的名称。
SecurityException - 如果安全管理器存在,并且其checkRead方法不允许操作。
getImage(java.lang.String)
public abstract Image createImage(URL url)
此方法首先检查是否安装了安全管理器。 如果是这样,该方法使用url.openConnection()。getPermission()权限调用安全管理器的checkPermission方法,以确保允许映像创建。 为了与1.2之前的安全管理员兼容,如果访问被拒绝使用FilePermission或SocketPermission ,该方法将抛出SecurityException如果相应的1.1型SecurityManager.checkXXX方法也拒绝权限。
url - 用于获取像素数据的URL。
SecurityException - 如果安全管理器存在,并且其checkPermission方法不允许操作。
getImage(java.net.URL)
public abstract boolean prepareImage(Image image, int width, int height, ImageObserver observer)
如果width和height参数的值均为-1 ,则此方法将准备在默认屏幕上进行渲染的图像; 否则,该方法将在默认屏幕上以指定的宽度和高度准备渲染图像。
图像数据在另一个线程中异步下载,并且生成图像的适当缩放的屏幕表示。
该方法由组件prepareImage方法调用。
有关此方法返回的标志的信息可以通过ImageObserver接口的ImageObserver找到。
image - 准备屏幕表示的图像。
width - 所需屏幕表示的宽度,或
-1 。
height - 所需屏幕表示的高度,或
-1 。
observer - 正在准备好要通知的
ImageObserver对象。
true如果图像已经完全准备好了;
false否则。
Component.prepareImage(java.awt.Image, java.awt.image.ImageObserver) , Component.prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver) , ImageObserver
public abstract int checkImage(Image image, int width, int height, ImageObserver observer)
如果width和height参数的值均为-1 ,则此方法返回此工具包中指定图像的屏幕表示的构造状态。 否则,此方法返回指定宽度和高度的图像的缩放表示的构造状态。
此方法不会导致图像开始加载。 应用程序必须调用prepareImage强制加载映像。
该方法由组件的checkImage方法调用。
有关此方法返回的标志的信息可以通过ImageObserver接口的ImageObserver找到。
image - 正在检查状态的图像。
width - 正在检查状态的缩放版本的宽度,或
-1 。
height - 正在检查状态的缩放版本的高度,或
-1 。
observer - 正在准备好要通知的
ImageObserver对象。
ImageObserver标志的按位包含
OR 。
prepareImage(java.awt.Image, int, int, java.awt.image.ImageObserver) , Component.checkImage(java.awt.Image, java.awt.image.ImageObserver) , Component.checkImage(java.awt.Image, int, int, java.awt.image.ImageObserver) , ImageObserver
public abstract Image createImage(ImageProducer producer)
producer - 要使用的图像制作者。
Image , ImageProducer , Component.createImage(java.awt.image.ImageProducer)
public Image createImage(byte[] imagedata)
数据必须是某种图像格式,如GIF或JPEG,这个工具包支持。
imagedata - 表示支持的图像格式的图像数据的字节数组。
public abstract Image createImage(byte[] imagedata, int imageoffset, int imagelength)
imagedata - 以支持的图像格式表示图像数据的字节数组。
imageoffset - 数组中数据
imageoffset的偏移量。
imagelength - 数组中数据的长度。
public abstract PrintJob getPrintJob(Frame frame, String jobtitle, Properties props)
PrintJob对象,这是在工具包的平台上启动打印操作的结果。
该方法的每个实际实现应首先检查是否安装了安全管理器。 如果有,该方法应该调用安全管理员的checkPrintJobAccess方法,以确保启动打印操作是允许的。 如果默认实现checkPrintJobAccess被使用(即,未重写此方法),那么这会导致对安全管理器的一个电话checkPermission方法有RuntimePermission("queuePrintJob")许可。
frame - 打印对话框的父项。
可能不为空
jobtitle - PrintJob的标题。
空标题等同于“”。
props - 包含零个或多个属性的Properties对象。
属性不标准化,并且在实现中不一致。
因此,需要作业和页面控制的PrintJobs应该使用该函数的版本,该版本采用JobAttributes和PageAttributes对象。
此对象可能会被更新,以反映退出时用户的工作选择。
可能为null。
PrintJob对象,如果用户取消了打印作业,
null 。
NullPointerException - if frame为null
SecurityException - 如果此线程不允许启动打印作业请求
GraphicsEnvironment.isHeadless() , PrintJob , RuntimePermission
public PrintJob getPrintJob(Frame frame, String jobtitle, JobAttributes jobAttributes, PageAttributes pageAttributes)
PrintJob对象,这是在工具包的平台上启动打印操作的结果。
该方法的每个实际实现应首先检查是否安装了安全管理器。 如果有,该方法应该调用安全管理员的checkPrintJobAccess方法,以确保启动打印操作是允许的。 如果默认实现checkPrintJobAccess被使用(即,未重写此方法),那么这会导致对安全管理器的一个电话checkPermission方法有RuntimePermission("queuePrintJob")许可。
frame - 打印对话框的父项。
可能不为空
jobtitle - PrintJob的标题。
空标题等同于“”。
jobAttributes - 一组将控制PrintJob的作业属性。
属性将被更新以反映用户的选择,如JobAttributes文档中所述。
可能为null。
pageAttributes - 一组将控制PrintJob的页面属性。
属性将应用于作业中的每个页面。
属性将被更新以反映用户的选择,如PageAttributes文档中所述。
可能为null。
PrintJob对象,如果用户取消了打印作业,
null 。
NullPointerException - if frame为null
IllegalArgumentException - 如果pageAttributes指定了不同的交叉Feed和Feed分辨率。
此外,如果此线程可以访问文件系统,并且jobAttributes指定打印到文件,并且指定的目标文件存在但是是目录而不是常规文件,则不存在但不能创建,或由于任何其他原因无法打开。
然而,在打印到文件的情况下,如果还要求显示对话,则将给予用户选择文件并继续打印的机会。
该对话框将确保选择的输出文件在从此方法返回之前是有效的。
SecurityException - 如果此线程不允许启动打印作业请求,或者如果jobAttributes指定打印到文件,并且此线程不允许访问文件系统
PrintJob , GraphicsEnvironment.isHeadless() , RuntimePermission , JobAttributes , PageAttributes
public abstract void beep()
public abstract Clipboard getSystemClipboard() throws HeadlessException
除了在flavormap.properties文件或AWT.DnD.flavorMapFileURL Toolkit属性指定的其他文件中指定的任何和所有格式之外,系统剪贴板getTransferData()方法返回的文本可用于以下风格:
java.awt.datatransfer.StringSelection ,如果要求的味道是DataFlavor.plainTextFlavor ,或相当的味道,则返回阅读器。
注意:系统剪贴板的getTransferData()方法的DataFlavor.plainTextFlavor和等效的DataFlavors与DataFlavor.plainTextFlavor的DataFlavor.plainTextFlavor 。
正因为如此,为支持DataFlavor.plainTextFlavor ,等效flavor, 已被弃用 。
该方法的每个实际实现应首先检查是否安装了安全管理器。 如果有,该方法应该调用安全管理员的checkPermission方法来检查AWTPermission("accessClipboard") 。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , Clipboard , StringSelection , DataFlavor.stringFlavor , DataFlavor.plainTextFlavor , Reader , AWTPermission
public Clipboard getSystemSelection() throws HeadlessException
Clipboard对象。
这允许应用程序读取和修改当前的全系统选择。
当用户使用鼠标或键盘选择文本时,应用程序负责更新系统选择。 通常,这是通过安装来实现FocusListener上的所有Component S的支持文本选择,和,之间FOCUS_GAINED个FOCUS_LOST传递到事件Component ,更新系统选择Clipboard当内选择更改Component 。 正确更新系统选择可确保Java应用程序与本机应用程序和系统上同时运行的其他Java应用程序正确交互。 请注意, java.awt.TextComponent和javax.swing.text.JTextComponent已经遵守此政策。 当使用这些类及其子类时,开发人员不需要编写任何其他代码。
某些平台不支持系统选择Clipboard 。 在这些平台上,此方法将返回null 。 在这种情况下,如上所述,应用程序不能更新系统选择Clipboard 。
该方法的每个实际实现应首先检查是否安装了安全管理器。 如果有,该方法应该调用安全管理员的checkPermission方法来检查AWTPermission("accessClipboard") 。
Clipboard ,或
null如果本机平台不支持系统选择
Clipboard
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
Clipboard , FocusListener , FocusEvent.FOCUS_GAINED , FocusEvent.FOCUS_LOST , TextComponent , JTextComponent , AWTPermission , GraphicsEnvironment.isHeadless()
public int getMenuShortcutKeyMask()
throws HeadlessException
菜单快捷方式,其体现在MenuShortcut类,由处理MenuBar类。
默认情况下,此方法返回Event.CTRL_MASK 。 如果Control键不是加速器的正确键,Toolkit实现应该覆盖此方法。
Event类上的修饰符掩码,用于此工具包上的菜单快捷方式。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless() , MenuBar , MenuShortcut
public boolean getLockingKeyState(int keyCode)
throws UnsupportedOperationException
VK_CAPS_LOCK , VK_NUM_LOCK , VK_SCROLL_LOCK和VK_KANA_LOCK 。
IllegalArgumentException - 如果
keyCode不是有效的密钥代码之一
UnsupportedOperationException - 如果主机系统不允许以编程方式获取此密钥的状态,或者如果键盘没有此密钥
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public void setLockingKeyState(int keyCode,
boolean on)
throws UnsupportedOperationException
VK_CAPS_LOCK , VK_NUM_LOCK , VK_SCROLL_LOCK和VK_KANA_LOCK 。
根据平台,设置锁定键的状态可能涉及事件处理,因此可能无法通过getLockingKeyState立即观察到。
IllegalArgumentException - 如果
keyCode不是有效的密钥代码之一
UnsupportedOperationException - 如果主机系统不允许以编程方式设置此键的状态,或者键盘没有此键
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
protected static Container getNativeContainer(Component c)
public Cursor createCustomCursor(Image cursor, Point hotSpot, String name) throws IndexOutOfBoundsException, HeadlessException
请注意,多帧图像无效,可能导致此方法挂起。
cursor -
cursor光标时显示的图像
hotSpot - 大光标的热点的X和Y;
hotSpot值必须小于getBestCursorSize返回的getBestCursorSize
name - Java辅助功能使用的游标的本地化描述
IndexOutOfBoundsException - 如果hotSpot值超出了光标的边界
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public Dimension getBestCursorSize(int preferredWidth, int preferredHeight) throws HeadlessException
注意:如果使用其尺寸与支持的尺寸不一致的图像(由此方法返回),则Toolkit实施将尝试将图像的大小调整为受支持的大小。 由于转换低分辨率图像是困难的,因此不能保证不是支持尺寸的光标图像的质量。 因此,建议调用此方法,并使用合适的图像,以便不进行图像转换。
preferredWidth - 组件想要使用的首选光标宽度。
preferredHeight - 组件想要使用的首选光标高度。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public int getMaximumCursorColors()
throws HeadlessException
注意:如果使用的图像在其调色板中具有比支持的最大值更多的颜色,则Toolkit实现将尝试将调色板最大化。 由于转换低分辨率图像是困难的,因此不能保证具有比系统支持的颜色更多的光标图像的质量。 因此,建议调用此方法,并使用合适的图像,以便不进行图像转换。
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
GraphicsEnvironment.isHeadless()
public boolean isFrameStateSupported(int state)
throws HeadlessException
Frame的状态。
该方法可以说明是否支持UI概念 ,例如最大化或图标化。
它总是会为“复合”状态返回false,如Frame.ICONIFIED|Frame.MAXIMIZED_VERT 。
换句话说,经验法则是只有具有单个帧状态常量的查询作为参数是有意义的。
请注意,支持一个给定的概念是平台相关的功能。 由于本机限制,Toolkit对象可能会将特定状态报告为受支持,但是同时Toolkit对象将无法将该状态应用于给定的帧。 这种情况有两个后果:
false ,实际上表示不支持给定的状态。 如果方法返回true ,给定状态可能仍然不被支持和/或不适用于特定的帧。 WindowEvent收到的WindowEvent的WindowEvent.getNewState()方法的价值 ,而不是假定给予setExtendedState()方法的状态将被明确地应用。 有关更多信息,请参阅Frame.setExtendedState(int)方法的文档 。 state - 命名帧状态常量之一。
true是这个框架状态是由这个Toolkit实现
false支持的。
HeadlessException - 如果
GraphicsEnvironment.isHeadless()返回
true 。
Window.addWindowStateListener(java.awt.event.WindowStateListener)
public static String getProperty(String key, String defaultValue)
public final EventQueue getSystemEventQueue()
如果有一个安全管理员,那么它的checkPermission方法被调用来检查AWTPermission("accessEventQueue") 。
EventQueue对象
SecurityException - 如果设置了安全管理员,并且拒绝访问
EventQueue
AWTPermission
protected abstract EventQueue getSystemEventQueueImpl()
EventQueue实例,而无需检查访问。
出于安全考虑,这只能从Toolkit子类中调用。
EventQueue对象
public abstract java.awt.dnd.peer.DragSourceContextPeer createDragSourceContextPeer(DragGestureEvent dge) throws InvalidDnDOperationException
public <T extends DragGestureRecognizer> T createDragGestureRecognizer(类<T> abstractRecognizerClass, DragSource ds, Component c, int srcActions, DragGestureListener dgl)
abstractRecognizerClass - 所需识别器的抽象类
ds - DragSource
c - DragGestureRecognizer的组件目标
srcActions - 手势允许的动作
dgl - DragGestureListener
GraphicsEnvironment.isHeadless()
public final Object getDesktopProperty(String propertyName)
protected final void setDesktopProperty(String name, Object newValue)
protected void initializeDesktopProperties()
public void addPropertyChangeListener(String name, PropertyChangeListener pcl)
PropertyChangeListenerProxy对象时,将忽略其属性名称,并添加包装的侦听器。
如果name是null或pcl是null ,则抛出异常并且不执行任何操作。
name - 要收听的财产的名称
pcl - 属性更改侦听器
PropertyChangeSupport.addPropertyChangeListener(String, PropertyChangeListener)
public void removePropertyChangeListener(String name, PropertyChangeListener pcl)
PropertyChangeListenerProxy对象被删除时,其属性名称将被忽略,并且包装的侦听器被删除。
如果name是null或pcl是null ,则不会抛出异常并且不执行任何操作。
name - 要删除的属性的名称
pcl - 属性更改侦听器
PropertyChangeSupport.removePropertyChangeListener(String, PropertyChangeListener)
public PropertyChangeListener[] getPropertyChangeListeners()
PropertyChangeListenerProxy对象,将侦听器与桌面属性的名称相关联。
PropertyChangeListener对象包含在java.beans.PropertyChangeListenerProxy对象中,如果没有添加侦听器,则为空数组
PropertyChangeSupport.getPropertyChangeListeners()
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
propertyName - 命名属性
PropertyChangeListener对象或没有添加此类侦听器的空数组
PropertyChangeSupport.getPropertyChangeListeners(String)
public boolean isAlwaysOnTopSupported()
Window.isAlwaysOnTopSupported() 。
true ,如果当前工具包支持永远在线模式,否则返回
false
Window.isAlwaysOnTopSupported() ,
Window.setAlwaysOnTop(boolean)
public abstract boolean isModalityTypeSupported(Dialog.ModalityType modalityType)
Dialog.ModalityType.MODELESS 。
modalityType - 要检查此工具包支持的模态类型
true ,如果当前工具包支持给定模式类型,
false false
Dialog.ModalityType , Dialog.getModalityType() , Dialog.setModalityType(java.awt.Dialog.ModalityType)
public abstract boolean isModalExclusionTypeSupported(Dialog.ModalExclusionType modalExclusionType)
Dialog.ModalExclusionType.NO_EXCLUDE 。
modalExclusionType - 要检查此工具包支持的模态排除类型
true ,如果当前工具包支持给定的模式排除类型,
false false
Dialog.ModalExclusionType , Window.getModalExclusionType() , Window.setModalExclusionType(java.awt.Dialog.ModalExclusionType)
public void addAWTEventListener(AWTEventListener listener, long eventMask)
eventMask系统范围内的所有eventMask 。
首先,如果有一个安全管理员,它的checkPermission方法被调用一个AWTPermission("listenToAllAWTEvents")权限。 这可能会导致SecurityException。
eventMask是要接收的事件类型的位掩码。 它是通过将AWTEvent中定义的事件掩码进行按位或AWTEvent 。
注意:事件监听器使用不推荐用于正常应用程序,但仅用于支持特殊目的设施,包括对可访问性的支持,事件记录/回放和诊断跟踪。 如果侦听器为空,则不会抛出异常,也不会执行任何操作。
listener - 事件侦听器。
eventMask - 要接收的事件类型的位掩码
SecurityException - 如果安全管理器存在,并且其
checkPermission方法不允许操作。
removeAWTEventListener(java.awt.event.AWTEventListener) , getAWTEventListeners() , SecurityManager.checkPermission(java.security.Permission) , AWTEvent , AWTPermission , AWTEventListener , AWTEventListenerProxy
public void removeAWTEventListener(AWTEventListener listener)
首先,如果有一个安全管理员,它的checkPermission方法被调用一个AWTPermission("listenToAllAWTEvents")权限。 这可能会导致SecurityException。
注意:事件监听器使用不推荐用于正常应用程序,但仅用于支持特殊目的设施,包括对可访问性的支持,事件记录/回放和诊断跟踪。 如果侦听器为空,则不会抛出异常,也不会执行任何操作。
listener - 事件侦听器。
SecurityException - 如果安全管理器存在,并且其
checkPermission方法不允许操作。
addAWTEventListener(java.awt.event.AWTEventListener, long) , getAWTEventListeners() , SecurityManager.checkPermission(java.security.Permission) , AWTEvent , AWTPermission , AWTEventListener , AWTEventListenerProxy
public AWTEventListener[] getAWTEventListeners()
AWTEventListener的所有AWTEventListener的数组。
如果有一个安全管理员,它的checkPermission方法被调用一个AWTPermission("listenToAllAWTEvents")权限。
这可能会导致SecurityException。
可以在AWTEventListenerProxy对象中返回侦听器,其中还包含给定侦听器的事件掩码。
请注意,多次添加的侦听器对象在返回的数组中只显示一次。
AWTEventListener s或一个空数组,如果没有听众当前注册
SecurityException - 如果安全管理器存在,并且其
checkPermission方法不允许操作。
addAWTEventListener(java.awt.event.AWTEventListener, long) , removeAWTEventListener(java.awt.event.AWTEventListener) , SecurityManager.checkPermission(java.security.Permission) , AWTEvent , AWTPermission , AWTEventListener , AWTEventListenerProxy
public AWTEventListener[] getAWTEventListeners(long eventMask)
AWTEventListener的所有AWTEventListener s的数组,该数组监听eventMask参数中指定的所有事件类型。
如果有一个安全管理员,它的checkPermission方法被调用一个AWTPermission("listenToAllAWTEvents")权限。
这可能会导致SecurityException。
可以在AWTEventListenerProxy对象中返回侦听器,该对象还包含给定侦听器的事件掩码。
请注意,多次添加的侦听器对象在返回的数组中只显示一次。
eventMask - 要侦听的事件类型的位掩码
AWTEventListener上该工具箱为指定事件类型,一个空数组注册■如果没有这样的侦听当前已注册
SecurityException - 如果安全管理器存在,并且其
checkPermission方法不允许操作。
addAWTEventListener(java.awt.event.AWTEventListener, long) , removeAWTEventListener(java.awt.event.AWTEventListener) , SecurityManager.checkPermission(java.security.Permission) , AWTEvent , AWTPermission , AWTEventListener , AWTEventListenerProxy
public abstract Map<TextAttribute,?> mapInputMethodHighlight(InputMethodHighlight highlight) throws HeadlessException
highlight - 输入法高亮
null
HeadlessException - 如果
GraphicsEnvironment.isHeadless返回true
GraphicsEnvironment.isHeadless()
public boolean areExtraMouseButtonsEnabled()
throws HeadlessException
EventQueue 。
Toolkit类初始化之前设置sun.awt.enableExtraMouseButtons属性。
可以通过以下命令在应用程序启动时完成此设置:
java -Dsun.awt.enableExtraMouseButtons=false Application
或者,可以通过使用以下代码在应用程序中设置属性:
System.setProperty("sun.awt.enableExtraMouseButtons", "true");
之前的Toolkit类初始化。
如果没有设置Toolkit类的初始化时间,这个属性将被初始化为true 。
在Toolkit类初始化之后更改此值将不起作用。
true如果允许处理和发布来自额外鼠标按钮的事件;
false否则
HeadlessException - 如果GraphicsEnvironment.isHeadless()返回true
System.getProperty(String propertyName) , System.setProperty(String propertyName, String value) , EventQueue
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.