Toolkit 类的子类用于将各种组件绑定到特定的本机工具包实现。
如果没有明确指定相反的情况,许多 GUI 事件可能会异步传递给用户。许多 GUI 操作也可以异步执行。这个事实意味着如果设置了组件的状态,然后立即查询状态,则返回的值可能尚未反映请求的更改。这种行为包括但不限于:
- 滚动到指定位置。
例如,如果原始请求尚未处理,则调用ScrollPane.setScrollPosition然后调用getScrollPosition可能会返回不正确的值。 - 将焦点从一个组件转移到另一个组件。
有关更多信息,请参阅 定时焦点转移,摇摆教程 中的一个部分。 - 使顶级容器可见。
在Window、Frame或Dialog上调用setVisible(true)可能会异步发生。 - 设置顶级容器的大小或位置。
在Window、Frame或Dialog上调用setSize、setBounds或setLocation被转发到底层窗口管理系统,可能会被忽略或修改。有关详细信息,请参阅Window。
大多数应用程序不应直接调用此类中的任何方法。 Toolkit 定义的方法是将 java.awt 包中独立于平台的类与其在 java.awt.peer 中的对应类连接起来的“粘合剂”。 Toolkit 定义的一些方法直接查询本机操作系统。
- 自从:
- 1.0
-
字段摘要
字段 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述voidaddAWTEventListener(AWTEventListener listener, long eventMask) 添加一个 AWTEventListener 以接收系统范围内调度的所有符合给定eventMask的 AWTEvents。void为指定的桌面属性添加指定的属性更改监听。boolean报告是否允许处理来自额外鼠标按钮的事件并将其发布到EventQueue中。abstract voidbeep()根据本机系统设置和硬件功能发出蜂鸣声。abstract intcheckImage(Image image, int width, int height, ImageObserver observer) 指示正在准备显示的指定图像的构建状态。createCustomCursor(Image cursor, Point hotSpot, String name) 创建一个新的自定义光标对象。<T extends DragGestureRecognizer>
TcreateDragGestureRecognizer(Class<T> abstractRecognizerClass, DragSource ds, Component c, int srcActions, DragGestureListener dgl) 创建请求的抽象 DragGestureRecognizer 类的具体的、平台相关的子类,并将其与指定的 DragSource、Component 和 DragGestureListener 相关联。createImage(byte[] imagedata) 创建一个图像,它解码存储在指定字节数组中的图像。abstract ImagecreateImage(byte[] imagedata, int imageoffset, int imagelength) 创建一个图像,它以指定的偏移量和长度解码存储在指定字节数组中的图像。abstract ImagecreateImage(ImageProducer producer) 使用指定的图像生成器创建图像。abstract ImagecreateImage(String filename) 返回从指定文件获取像素数据的图像。abstract ImagecreateImage(URL url) 返回从指定 URL 获取像素数据的图像。返回在此工具包上注册的所有AWTEventListener的数组。getAWTEventListeners(long eventMask) 返回在此工具包上注册的所有AWTEventListener的数组,这些工具包监听eventMask参数中指定的所有事件类型。getBestCursorSize(int preferredWidth, int preferredHeight) 返回最接近所需大小的受支持游标尺寸。abstract ColorModel确定此工具包屏幕的颜色模型。static Toolkit获取默认工具包。final ObjectgetDesktopProperty(String propertyName) 获取指定桌面属性的值。abstract String[]已弃用。abstract FontMetricsgetFontMetrics(Font font) 已弃用。从 JDK 1.2 版开始,由Font方法getLineMetrics取代。abstract Image返回从指定文件中获取像素数据的图像,格式可以是 GIF、JPEG 或 PNG。abstract Image返回从指定 URL 获取像素数据的图像。booleangetLockingKeyState(int keyCode) 返回键盘上给定的锁定键当前是否处于“打开”状态。int返回 Toolkit 在自定义光标调色板中支持的最大颜色数。int已弃用。建议改用扩展修饰键和getMenuShortcutKeyMaskEx()int确定哪个扩展修改键是菜单快捷方式的适当加速键。protected static Container在给定本机组件的情况下,让本机对等点能够查询本机容器(例如,直接父级可能是轻量级的)。getPrintJob(Frame frame, String jobtitle, JobAttributes jobAttributes, PageAttributes pageAttributes) 获取一个PrintJob对象,它是在工具包平台上启动打印操作的结果。abstract PrintJobgetPrintJob(Frame frame, String jobtitle, Properties props) 获取一个PrintJob对象,它是在工具包平台上启动打印操作的结果。static StringgetProperty(String key, String defaultValue) 获取具有指定键和默认值的属性。返回在此工具包上注册的所有属性更改监听的数组。getPropertyChangeListeners(String propertyName) 返回与桌面属性的指定名称关联的所有属性更改监听的数组。获取屏幕的insets。abstract int以每英寸点数返回屏幕分辨率。abstract Dimension获取屏幕的大小。abstract Clipboard获取系统剪贴板的单例实例,它与本机平台提供的剪贴板设施接口。final EventQueue获取应用程序或小程序的 EventQueue 实例。protected abstract EventQueue获取应用程序或小程序的EventQueue实例,而不检查访问权限。获取系统选择的单例实例作为Clipboard对象。protected void初始化桌面属性boolean返回此工具包是否支持永远在线模式。boolean返回当前是否在底层操作系统和/或窗口管理器上启用了调整大小时容器的动态布局。protected boolean返回容器的布局是在调整大小期间动态验证,还是在调整大小完成后静态验证。booleanisFrameStateSupported(int state) 返回 Toolkit 是否支持Frames 的这种状态。abstract booleanisModalExclusionTypeSupported(Dialog.ModalExclusionType modalExclusionType) 返回此工具包是否支持给定的模态排除类型。abstract booleanisModalityTypeSupported(Dialog.ModalityType modalityType) 返回此工具包是否支持给定的模态类型。protected Object懒惰地评估桌面属性值的机会。protected voidloadSystemColors(int[] systemColors) 用当前系统颜色值填充作为参数提供的整数数组。abstract Map<TextAttribute,?> mapInputMethodHighlight(InputMethodHighlight highlight) 返回给定输入方法突出显示的抽象级别描述的视觉属性映射,如果未找到映射,则返回 null。abstract booleanprepareImage(Image image, int width, int height, ImageObserver observer) 准备要渲染的图像。voidremoveAWTEventListener(AWTEventListener listener) 从接收分派的 AWTEvents 中删除 AWTEventListener。void删除指定桌面属性的指定属性更改监听。protected final voidsetDesktopProperty(String name, Object newValue) 将命名的桌面属性设置为指定值并触发属性更改事件以通知任何监听该值已更改。voidsetDynamicLayout(boolean dynamic) 控制容器的布局是在调整大小期间动态验证,还是在调整大小完成后静态验证。voidsetLockingKeyState(int keyCode, boolean on) 设置键盘上给定锁定键的状态。abstract voidsync()同步此工具包的图形状态。
-
字段详细信息
-
desktopProperties
桌面属性。 -
desktopPropsSupport
桌面属性更改支持。
-
-
构造方法详细信息
-
Toolkit
protected Toolkit()构造一个Toolkit
-
-
方法详情
-
loadSystemColors
用当前系统颜色值填充作为参数提供的整数数组。- 参数:
systemColors- 整数数组。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.1
- 参见:
-
setDynamicLayout
控制容器的布局是在调整大小期间动态验证,还是在调整大小完成后静态验证。使用isDynamicLayoutActive()来检测此功能是否在此程序中启用并且是否受此操作系统和/或窗口管理器的支持。请注意,并非所有平台都支持此功能,相反,在某些平台上无法关闭此功能。在这些不支持(或始终支持)调整大小期间动态布局的平台上,设置此属性无效。请注意,在某些平台上,此功能可以作为操作系统或窗口管理器的属性进行设置或取消设置。在此类平台上,必须在操作系统或窗口管理器级别设置动态调整大小属性,此方法才能生效。此方法不会更改底层操作系统或窗口管理器的支持或设置。可以使用 getDesktopProperty("awt.dynamicLayoutSupported") 方法查询操作系统/WM 支持。- 参数:
dynamic- 如果为真,则容器应在调整容器大小时重新布局其组件。如果为 false,将在调整大小完成后验证布局。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.4
- 参见:
-
isDynamicLayoutSet
返回容器的布局是在调整大小期间动态验证,还是在调整大小完成后静态验证。注意:此方法返回以编程方式设置的值;它不反映操作系统或窗口管理器级别对调整大小动态布局的支持,或当前操作系统或窗口管理器设置。可以使用 getDesktopProperty("awt.dynamicLayoutSupported") 查询操作系统/WM 支持。- 返回:
- 如果容器的验证是动态完成的,则为 true;如果在调整大小完成后进行验证,则为 false。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.4
- 参见:
-
isDynamicLayoutActive
返回当前是否在底层操作系统和/或窗口管理器上启用了调整大小时容器的动态布局。如果平台支持,setDynamicLayout(boolean)可用于以编程方式启用或禁用平台动态布局。无论是否支持切换,或者true或false是否被指定为参数,或者根本没有被调用,此方法将返回活动的当前平台行为,并且 JDK 在调整大小时确定布局策略时将遵循该行为.如果动态布局当前处于非活动状态,则容器会在调整大小完成后重新布局其组件。因此,
Component.validate()方法每次调整大小只会被调用一次。如果动态布局当前处于活动状态,则容器会在每个本机调整大小事件上重新布局其组件,并且每次都会调用validate()方法。可以使用 getDesktopProperty("awt.dynamicLayoutSupported") 方法查询 OS/WM 支持。此属性将反映平台功能,但不足以判断它目前是否已启用。- 返回:
- 如果调整大小时容器的动态布局当前处于活动状态,则为 true,否则为 false。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 方法返回 true- 自从:
- 1.4
- 参见:
-
getScreenSize
获取屏幕的大小。在具有多个显示器的系统上,使用主显示器。GraphicsConfiguration和GraphicsDevice提供了多屏感知显示尺寸。- 返回:
- 此工具包屏幕的大小,以像素为单位。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 参见:
-
getScreenResolution
以每英寸点数返回屏幕分辨率。- 返回:
- 此工具包的屏幕分辨率,以每英寸点数为单位。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 参见:
-
getScreenInsets
获取屏幕的insets。- 参数:
gc- 一个GraphicsConfiguration- 返回:
- 此工具包屏幕的insets,以像素为单位。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.4
- 参见:
-
getColorModel
确定此工具包屏幕的颜色模型。ColorModel是一个抽象类,它封装了在图像的像素值与其红色、绿色、蓝色和 alpha 组件之间进行转换的能力。此工具包方法由
Component类的getColorModel方法调用。- 返回:
- 此工具包屏幕的颜色模型。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 参见:
-
getFontList
返回此工具包中可用字体的名称。对于 1.1,不推荐使用以下字体名称(替换名称如下):
- TimesRoman(使用 Serif)
- Helvetica(使用 SansSerif)
- Courier(使用等宽)
ZapfDingbats 字体名称在 1.1 中也已弃用,但这些字符在 Unicode 中定义为从 0x2700 开始,并且从 1.1 开始,Java 支持这些字符。
- 返回:
- 此工具包中可用字体的名称。
- 参见:
-
getFontMetrics
已弃用。从 JDK 1.2 版开始,由Font方法getLineMetrics取代。获取用于呈现字体的屏幕设备指标。- 参数:
font- 一种字体- 返回:
- 此工具包中指定字体的屏幕指标
- 参见:
-
sync
public abstract void sync()同步此工具包的图形状态。某些窗口系统可能会对图形事件进行缓冲。此方法可确保显示是最新的。它对动画很有用。
-
getDefaultToolkit
获取默认工具包。如果名为
"java.awt.headless"的系统属性设置为true,则使用Toolkit的无头实现,否则使用Toolkit的默认平台特定实现。如果此工具包不是无头实现且存在,则系统属性
javax.accessibility.assistive_technologies指定的AccessibilityProvider服务提供程序将被加载。设置此属性的一个示例是使用
-Djavax.accessibility.assistive_technologies=MyServiceProvider调用 Java。除了 MyServiceProvider 之外,还可以使用逗号分隔列表指定其他服务提供者。服务提供者在创建 AWT 工具包后加载。如果通过系统属性“
javax.accessibility.assistive_technologies”提供的辅助技术提供者列表是空字符串或仅包含 空白 个字符,则会被忽略。所有其他错误都通过 AWTError 异常处理。assistive_technologies 属性中指定的名称用于查询每个服务提供者实现。如果请求的名称与服务提供者的name匹配,则调用
AccessibilityProvider.activate()方法激活匹配的服务提供者。- 实现要求:
-
如果没有使用系统属性指定辅助技术服务提供者,则此实现将查找位于如下位置的属性文件:
${user.home}/.accessibility.properties${java.home}/conf/accessibility.properties
assistive_technologies=属性指定。可以指定单个提供者或以逗号分隔的提供者列表。 - 返回:
- 默认工具包。
- 抛出:
AWTError- 加载辅助技术时出错。- 参见:
-
getImage
返回从指定文件中获取像素数据的图像,格式可以是 GIF、JPEG 或 PNG。底层工具包尝试将具有相同文件名的多个请求解析为相同的返回图像。由于促进
Image对象共享所需的机制可能会无限期地保留不再使用的图像,因此鼓励开发人员通过使用createImage变体(只要可用)来实现自己的图像缓存。如果指定文件中包含的图像数据发生更改,则从此方法返回的Image对象可能仍包含在先前调用后从文件加载的陈旧信息。通过调用返回的Image上的flush方法,可以手动丢弃先前加载的图像数据。此方法首先检查是否安装了安全管理器。如果是这样,该方法使用指定的文件调用安全管理器的
checkRead方法以确保允许对图像的访问。- 参数:
filename- 包含可识别文件格式的像素数据的文件的名称。- 返回:
- 从指定文件获取像素数据的图像。
- 抛出:
SecurityException- 如果安全管理器存在并且其 checkRead 方法不允许该操作。- 参见:
-
getImage
返回从指定 URL 获取像素数据的图像。指定 URL 引用的像素数据必须采用以下格式之一:GIF、JPEG 或 PNG。底层工具包尝试将具有相同 URL 的多个请求解析为返回的相同图像。由于促进
Image对象共享所需的机制可能会无限期地保留不再使用的图像,因此鼓励开发人员在任何可用的地方使用createImage变体来实现自己的图像缓存。如果存储在指定 URL 的图像数据发生变化,从此方法返回的Image对象可能仍包含在先前调用后从 URL 获取的陈旧信息。通过调用返回的Image上的flush方法,可以手动丢弃先前加载的图像数据。此方法首先检查是否安装了安全管理器。如果是,则该方法以相应的权限调用安全管理器的
checkPermission方法以确保允许对图像的访问。如果到指定 URL 的连接需要URLPermission或SocketPermission,则URLPermission用于安全检查。- 参数:
url- 用于获取像素数据的 URL。- 返回:
- 从指定 URL 获取其像素数据的图像。
- 抛出:
SecurityException- 如果安全管理器存在并且其 checkPermission 方法不允许该操作。- 参见:
-
createImage
返回从指定文件获取像素数据的图像。返回的 Image 是一个新对象,不会与此方法或其 getImage 变体的任何其他调用者共享。此方法首先检查是否安装了安全管理器。如果是这样,该方法将使用指定文件调用安全管理器的
checkRead方法以确保允许创建映像。- 参数:
filename- 包含可识别文件格式的像素数据的文件的名称。- 返回:
- 从指定文件获取像素数据的图像。
- 抛出:
SecurityException- 如果安全管理器存在并且其 checkRead 方法不允许该操作。- 参见:
-
createImage
返回从指定 URL 获取像素数据的图像。返回的 Image 是一个新对象,不会与此方法或其 getImage 变体的任何其他调用者共享。此方法首先检查是否安装了安全管理器。如果是,则该方法以相应的权限调用安全管理器的
checkPermission方法以确保允许创建图像。如果到指定 URL 的连接需要URLPermission或SocketPermission,则URLPermission用于安全检查。- 参数:
url- 用于获取像素数据的 URL。- 返回:
- 从指定 URL 获取其像素数据的图像。
- 抛出:
SecurityException- 如果安全管理器存在并且其 checkPermission 方法不允许该操作。- 参见:
-
prepareImage
准备要渲染的图像。如果 width 和 height 参数的值都是
-1,此方法准备在默认屏幕上呈现图像;否则,此方法准备图像以指定的宽度和高度在默认屏幕上呈现。图像数据在另一个线程中异步下载,并生成适当缩放的图像屏幕表示。
此方法由组件
prepareImage方法调用。有关此方法返回的标志的信息可以在
ImageObserver接口的定义中找到。- 参数:
image- 准备屏幕表示的图像。width- 所需屏幕表示的宽度,或-1。height- 所需屏幕表示的高度,或-1。observer- 在准备图像时要通知的ImageObserver对象。- 返回:
true如果图像已经完全准备好;false否则。- 参见:
-
checkImage
指示正在准备显示的指定图像的构建状态。如果 width 和 height 参数的值都是
-1,则此方法返回此工具包中指定图像的屏幕表示的构造状态。否则,此方法返回指定宽度和高度的图像缩放表示的构造状态。此方法不会导致图像开始加载。应用程序必须调用
prepareImage以强制加载图像。此方法由组件的
checkImage方法调用。有关此方法返回的标志的信息可以在
ImageObserver接口的定义中找到。- 参数:
image- 正在检查其状态的图像。width- 正在检查其状态的缩放版本的宽度,或-1。height- 正在检查其状态的缩放版本的高度,或-1。observer- 在准备图像时要通知的ImageObserver对象。- 返回:
-
当前可用的图像数据的
ImageObserver标志的按位包含 OR。 - 参见:
-
createImage
使用指定的图像生成器创建图像。- 参数:
producer- 要使用的图像生成器。- 返回:
- 具有指定图像制作者的图像。
- 参见:
-
createImage
创建一个图像,它解码存储在指定字节数组中的图像。数据必须采用此工具包支持的某种图像格式,例如 GIF 或 JPEG。
- 参数:
imagedata- 字节数组,表示支持图像格式的图像数据。- 返回:
- 一个图像。
- 自从:
- 1.1
-
createImage
创建一个图像,它以指定的偏移量和长度解码存储在指定字节数组中的图像。数据必须采用此工具包支持的某种图像格式,例如 GIF 或 JPEG。- 参数:
imagedata- 字节数组,表示支持图像格式的图像数据。imageoffset- 数组中数据开头的偏移量。imagelength- 数组中数据的长度。- 返回:
- 一个图像。
- 自从:
- 1.1
-
getPrintJob
获取一个PrintJob对象,它是在工具包平台上启动打印操作的结果。此方法的每个实际实现都应首先检查是否安装了安全管理器。如果存在,该方法应调用安全管理器的
checkPrintJobAccess方法以确保允许启动打印操作。如果使用checkPrintJobAccess的默认实现(即未覆盖该方法),则会导致调用具有RuntimePermission("queuePrintJob")权限的安全管理器的checkPermission方法。- 参数:
frame- 打印对话框的父级。不能为空。jobtitle- PrintJob 的标题。空标题等同于“”。props- 包含零个或多个属性的 Properties 对象。属性不是标准化的,并且在实现之间不一致。因此,需要作业和页面控制的 PrintJobs 应该使用此函数的版本,该版本采用 JobAttributes 和 PageAttributes 对象。可以更新此对象以反映用户在退出时的工作选择。可能为空。- 返回:
-
一个
PrintJob对象,或者null如果用户取消了打印作业。 - 抛出:
NullPointerException- 如果帧为空SecurityException- 如果不允许此线程发起打印作业请求- 自从:
- 1.1
- 参见:
-
getPrintJob
public PrintJob getPrintJob(Frame frame, String jobtitle, JobAttributes jobAttributes, PageAttributes pageAttributes) 获取一个PrintJob对象,它是在工具包平台上启动打印操作的结果。此方法的每个实际实现都应首先检查是否安装了安全管理器。如果存在,该方法应调用安全管理器的
checkPrintJobAccess方法以确保允许启动打印操作。如果使用checkPrintJobAccess的默认实现(即未覆盖该方法),则会导致调用具有RuntimePermission("queuePrintJob")权限的安全管理器的checkPermission方法。- 参数:
frame- 打印对话框的父级。不能为空。jobtitle- PrintJob 的标题。空标题等同于“”。jobAttributes- 一组将控制 PrintJob 的作业属性。属性将更新以反映用户的选择,如 JobAttributes 文档中所述。可能为空。pageAttributes- 一组将控制 PrintJob 的页面属性。这些属性将应用于作业中的每个页面。属性将更新以反映用户的选择,如 PageAttributes 文档中所述。可能为空。- 返回:
-
一个
PrintJob对象,或者null如果用户取消了打印作业。 - 抛出:
NullPointerException- 如果帧为空IllegalArgumentException- 如果 pageAttributes 指定不同的交叉供稿和供稿分辨率。此外,如果此线程可以访问文件系统并且 jobAttributes 指定打印到文件,并且指定的目标文件存在但是目录而不是常规文件,不存在但无法创建,或者由于任何其他原因无法打开。然而,在打印到文件的情况下,如果还请求显示对话框,则用户将有机会选择文件并继续打印。该对话框将确保所选输出文件在从此方法返回之前有效。SecurityException- 如果不允许此线程发起打印作业请求,或者如果 jobAttributes 指定打印到文件,并且不允许此线程访问文件系统- 自从:
- 1.3
- 参见:
-
beep
public abstract void beep()根据本机系统设置和硬件功能发出蜂鸣声。- 自从:
- 1.1
-
getSystemClipboard
获取系统剪贴板的单例实例,它与本机平台提供的剪贴板设施接口。此剪贴板支持 Java 程序和使用本地剪贴板功能的本地应用程序之间的数据传输。除了系统剪贴板的
getTransferData()方法返回的任何和所有默认格式文本外,还有以下风格:- DataFlavor.stringFlavor
- DataFlavor.plainTextFlavor (弃用)
java.awt.datatransfer.StringSelection一样,如果请求的风格是DataFlavor.plainTextFlavor或等效风格,则返回 Reader。笔记:系统剪贴板的getTransferData()方法对DataFlavor.plainTextFlavor和等效 DataFlavors 的行为与DataFlavor.plainTextFlavor的定义不一致。因此,对DataFlavor.plainTextFlavor和等效风格的支持是弃用.此方法的每个实际实现都应首先检查是否安装了安全管理器。如果有,该方法应该调用安全管理器的
checkPermission方法来检查AWTPermission("accessClipboard")。- 返回:
- 系统剪贴板
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.1
- 参见:
-
getSystemSelection
获取系统选择的单例实例作为Clipboard对象。这允许应用程序读取和修改当前的系统范围选择。每当用户使用鼠标或键盘选择文本时,应用程序负责更新系统选择。通常,这是通过在所有支持文本选择的
Component上安装FocusListener来实现的,并且在传递给该Component的FOCUS_GAINED和FOCUS_LOST事件之间,当Component内的选择发生变化时更新系统选择Clipboard。正确更新系统选择可确保 Java 应用程序与本机应用程序和系统上同时运行的其他 Java 应用程序正确交互。请注意,java.awt.TextComponent和javax.swing.text.JTextComponent已遵守此策略。使用这些类及其子类时,开发人员无需编写任何额外代码。某些平台不支持系统选择
Clipboard。在这些平台上,此方法将返回null。在这种情况下,应用程序可以免除其更新系统选择Clipboard的责任,如上所述。此方法的每个实际实现都应首先检查是否安装了安全管理器。如果有,该方法应该调用安全管理器的
checkPermission方法来检查AWTPermission("accessClipboard")。- 返回:
-
系统选择为
Clipboard,如果本机平台不支持系统选择Clipboard则为null - 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.4
- 参见:
-
getMenuShortcutKeyMask
已弃用。建议改用扩展修饰键和getMenuShortcutKeyMaskEx()确定哪个修饰键是菜单快捷方式的适当加速键。包含在
MenuShortcut类中的菜单快捷方式由MenuBar类处理。默认情况下,此方法返回
Event.CTRL_MASK。如果Controlkey 不是加速器的正确键。- 返回:
Event类上的修饰符掩码,用于此工具包上的菜单快捷方式。- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.1
- 参见:
-
getMenuShortcutKeyMaskEx
确定哪个扩展修改键是菜单快捷方式的适当加速键。包含在
MenuShortcut类中的菜单快捷方式由MenuBar类处理。默认情况下,此方法返回
InputEvent.CTRL_DOWN_MASK。如果Controlkey 不是加速器的正确键。- 返回:
InputEvent类上的修饰符掩码,用于此工具包上的菜单快捷方式- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 10
- 参见:
-
getLockingKeyState
- 参数:
keyCode- 关键代码- 返回:
true如果给定键当前处于“打开”状态;否则false- 抛出:
IllegalArgumentException- 如果keyCode不是有效的键码之一UnsupportedOperationException- 如果主机系统不允许以编程方式获取此键的状态,或者键盘没有此键HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.3
- 参见:
-
setLockingKeyState
设置键盘上给定锁定键的状态。有效的密钥代码是VK_CAPS_LOCK、VK_NUM_LOCK、VK_SCROLL_LOCK和VK_KANA_LOCK。根据平台的不同,设置锁定键的状态可能涉及事件处理,因此可能无法通过 getLockingKeyState 立即观察到。
- 参数:
keyCode- 关键代码on- 密钥的状态- 抛出:
IllegalArgumentException- 如果keyCode不是有效的键码之一UnsupportedOperationException- 如果主机系统不允许以编程方式设置此键的状态,或者键盘没有此键HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.3
- 参见:
-
getNativeContainer
在给定本机组件的情况下,让本机对等点能够查询本机容器(例如,直接父级可能是轻量级的)。- 参数:
c- 获取容器的组件- 返回:
- 组件的本机容器对象
-
createCustomCursor
public Cursor createCustomCursor(Image cursor, Point hotSpot, String name) throws IndexOutOfBoundsException , HeadlessException 创建一个新的自定义光标对象。如果要显示的图像无效,则光标将隐藏(完全透明),热点将设置为 (0, 0)。注意多帧图片是无效的,可能会导致这个方法挂掉。
- 参数:
cursor- 光标激活时显示的图像hotSpot- 大光标热点的 X 和 Y;热点值必须小于getBestCursorSize返回的维度name- 游标的本地化描述,供 Java 辅助功能使用- 返回:
- 创建的游标
- 抛出:
IndexOutOfBoundsException- 如果热点值超出光标范围HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.2
- 参见:
-
getBestCursorSize
public Dimension getBestCursorSize(int preferredWidth, int preferredHeight) throws HeadlessException 返回最接近所需大小的受支持游标尺寸。只支持单个游标大小的系统将返回该大小,而不管所需的大小。不支持自定义游标的系统将返回维度 0, 0。注意:如果使用的图像的尺寸与支持的尺寸(由此方法返回)不匹配,则 Toolkit 实现将尝试将图像调整为支持的尺寸。由于转换低分辨率图像很困难,因此不保证不支持大小的光标图像的质量。因此建议调用此方法并使用适当的图像,以便不进行图像转换。
- 参数:
preferredWidth- 组件想要使用的首选光标宽度。preferredHeight- 组件想要使用的首选光标高度。- 返回:
- 最接近匹配的受支持游标大小,如果工具包实现不支持自定义游标,则尺寸为 0,0。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.2
- 参见:
-
getMaximumCursorColors
返回 Toolkit 在自定义光标调色板中支持的最大颜色数。注意:如果使用的图像的调色板中的颜色多于支持的最大值,则 Toolkit 实现将尝试将调色板展平到最大值。由于转换低分辨率图像很困难,因此无法保证颜色多于系统支持的光标图像的质量。因此建议调用此方法并使用适当的图像,以便不进行图像转换。
- 返回:
- 最大颜色数,如果此 Toolkit 实现不支持自定义光标,则为零。
- 抛出:
HeadlessException- 如果 GraphicsEnvironment.isHeadless() 返回 true- 自从:
- 1.2
- 参见:
-
isFrameStateSupported
返回 Toolkit 是否支持Frames 的这种状态。此方法告诉是否支持最大化或图标化的UI concept。对于像Frame.ICONIFIED|Frame.MAXIMIZED_VERT这样的“复合”状态,它将始终返回 false。换句话说,经验法则是只有以单个帧状态常量作为参数的查询才有意义。请注意,支持给定的概念是一个平台相关的特性。由于本机限制,Toolkit 对象可能会将特定状态报告为受支持,但同时 Toolkit 对象将无法将该状态应用于给定帧。这种情况有以下两个后果:
- 只有当前方法的
false的返回值实际上表明不支持给定的状态。如果该方法返回true,则给定状态对于特定帧可能仍然不受支持和/或不可用。 - 开发人员应考虑检查通过
WindowStateListener接收到的WindowEvent的WindowEvent.getNewState()方法的值,而不是假设一定会应用提供给setExtendedState()方法的状态。有关详细信息,请参阅Frame.setExtendedState(int)方法的文档。
- 参数:
state- 命名的帧状态常量之一。- 返回:
true此框架状态是否受此工具包实现的支持,false否则。- 抛出:
HeadlessException- 如果GraphicsEnvironment.isHeadless()返回true。- 自从:
- 1.4
- 参见:
- 只有当前方法的
-
getProperty
获取具有指定键和默认值的属性。如果未找到该属性,则此方法返回 defaultValue。- 参数:
key- 钥匙defaultValue- 默认值- 返回:
- 属性的值或默认值(如果未找到该属性)
-
getSystemEventQueue
获取应用程序或小程序的 EventQueue 实例。根据 Toolkit 的实现,可能会为不同的小程序返回不同的 EventQueues。因此,Applet 不应假定此方法返回的 EventQueue 实例将被其他 applet 或系统共享。如果有安全管理器,则调用其
checkPermission方法来检查AWTPermission("accessEventQueue")。- 返回:
EventQueue对象- 抛出:
SecurityException- 如果设置了安全管理器并且它拒绝访问EventQueue- 参见:
-
getSystemEventQueueImpl
获取应用程序或小程序的EventQueue实例,而不检查访问权限。出于安全原因,这只能从Toolkit子类调用。- 返回:
EventQueue对象
-
createDragGestureRecognizer
public <T extends DragGestureRecognizer > T createDragGestureRecognizer(Class <T> abstractRecognizerClass, DragSource ds, Component c, int srcActions, DragGestureListener dgl) 创建请求的抽象 DragGestureRecognizer 类的具体的、平台相关的子类,并将其与指定的 DragSource、Component 和 DragGestureListener 相关联。子类应该重写它以提供自己的实现- 类型参数:
T- 要创建的 DragGestureRecognizer 的类型- 参数:
abstractRecognizerClass- 所需识别器的抽象类ds- DragSourcec- DragGestureRecognizer 的组件目标srcActions- 手势允许的动作dgl- DragGestureListener- 返回:
- 新对象或 null。如果 GraphicsEnvironment.isHeadless() 返回 true,则始终返回 null。
- 参见:
-
getDesktopProperty
获取指定桌面属性的值。桌面属性是资源的唯一命名值,本质上是 Toolkit 全局资源。通常它也是底层平台相关桌面设置的抽象表示。有关 AWT 支持的桌面属性的更多信息,请参阅 AWT 桌面属性。- 参数:
propertyName- 属性名称- 返回:
- 指定桌面属性的值
-
setDesktopProperty
将命名的桌面属性设置为指定值并触发属性更改事件以通知任何监听该值已更改。- 参数:
name- 属性名称newValue- 新属性值
-
lazilyLoadDesktopProperty
懒惰地评估桌面属性值的机会。- 参数:
name- 名字- 返回:
- 桌面属性或 null
-
initializeDesktopProperties
protected void initializeDesktopProperties()initializeDesktopProperties -
addPropertyChangeListener
为指定的桌面属性添加指定的属性更改监听器。添加PropertyChangeListenerProxy对象时,将忽略其属性名称,并添加包装的监听器。如果name是null或pcl是null,则不会抛出异常并且不会执行任何操作。- 参数:
name- 要监听的属性的名称pcl- 属性更改监听器- 自从:
- 1.2
- 参见:
-
removePropertyChangeListener
删除指定桌面属性的指定属性更改监听器。删除PropertyChangeListenerProxy对象时,将忽略其属性名称,并删除包装的监听器。如果name是null或pcl是null,则不会抛出异常并且不会执行任何操作。- 参数:
name- 要删除的属性的名称pcl- 属性更改监听器- 自从:
- 1.2
- 参见:
-
getPropertyChangeListeners
返回在此工具包上注册的所有属性更改监听器的数组。返回的数组包含PropertyChangeListenerProxy个对象,这些对象将监听器与桌面属性的名称相关联。- 返回:
-
此工具包的所有
PropertyChangeListener对象都包含在java.beans.PropertyChangeListenerProxy对象中,如果没有添加监听器,则为空数组 - 自从:
- 1.4
- 参见:
-
getPropertyChangeListeners
返回与桌面属性的指定名称关联的所有属性更改监听的数组。- 参数:
propertyName- 命名属性- 返回:
-
与桌面属性的指定名称关联的所有
PropertyChangeListener对象,如果未添加此类监听器,则为空数组 - 自从:
- 1.4
- 参见:
-
isAlwaysOnTopSupported
public boolean isAlwaysOnTopSupported()返回此工具包是否支持永远在线模式。要检测特定窗口是否支持永远在线模式,请使用Window.isAlwaysOnTopSupported()。- 返回:
true,如果当前工具包支持永远在线模式,否则返回false- 自从:
- 1.6
- 参见:
-
isModalityTypeSupported
返回此工具包是否支持给定的模态类型。如果创建了具有不受支持的模态类型的对话,则使用Dialog.ModalityType.MODELESS代替。- 参数:
modalityType- 此工具包要检查支持的模态类型- 返回:
true,如果当前工具包支持给定的模态类型,false否则- 自从:
- 1.6
- 参见:
-
isModalExclusionTypeSupported
返回此工具包是否支持给定的模态排除类型。如果在窗口上设置了不受支持的模态排除类型属性,则会改用Dialog.ModalExclusionType.NO_EXCLUDE。- 参数:
modalExclusionType- 此工具包要检查支持的模态排除类型- 返回:
true,如果当前工具包支持给定的模态排除类型,false否则- 自从:
- 1.6
- 参见:
-
addAWTEventListener
添加一个 AWTEventListener 以接收系统范围内调度的所有符合给定eventMask的 AWTEvents。首先,如果有安全管理器,它的
checkPermission方法会以AWTPermission("listenToAllAWTEvents")权限调用。这可能会导致 SecurityException。eventMask是要接收的事件类型的位掩码。它是通过将AWTEvent中定义的事件掩码按位或运算在一起构建的。注意:不建议将事件监听用于正常应用程序使用,但仅用于支持特殊用途的设施,包括支持可访问性、事件记录/回放和诊断跟踪。如果 listener 为 null,则不会抛出异常并且不会执行任何操作。
- 参数:
listener- 事件监听器。eventMask- 要接收的事件类型的位掩码- 抛出:
SecurityException- 如果安全管理器存在且其checkPermission方法不允许该操作。- 自从:
- 1.2
- 参见:
-
removeAWTEventListener
从接收分派的 AWTEvents 中删除 AWTEventListener。首先,如果有安全管理器,它的
checkPermission方法会以AWTPermission("listenToAllAWTEvents")权限调用。这可能会导致 SecurityException。注意:不建议将事件监听用于正常应用程序使用,但仅用于支持特殊用途的设施,包括支持可访问性、事件记录/回放和诊断跟踪。如果 listener 为 null,则不会抛出异常并且不会执行任何操作。
- 参数:
listener- 事件监听器。- 抛出:
SecurityException- 如果安全管理器存在且其checkPermission方法不允许该操作。- 自从:
- 1.2
- 参见:
-
getAWTEventListeners
返回在此工具包上注册的所有AWTEventListener的数组。如果有安全管理器,它的checkPermission方法将以AWTPermission("listenToAllAWTEvents")权限调用。这可能会导致 SecurityException。监听器可以在AWTEventListenerProxy对象中返回,其中还包含给定监听器的事件掩码。请注意,多次添加的监听器对象在返回的数组中只出现一次。- 返回:
-
所有
AWTEventListeners 或一个空数组(如果当前没有注册任何监听器) - 抛出:
SecurityException- 如果安全管理器存在且其checkPermission方法不允许该操作。- 自从:
- 1.4
- 参见:
-
getAWTEventListeners
返回在此工具包上注册的所有AWTEventListener的数组,这些工具包监听eventMask参数中指定的所有事件类型。如果有安全管理器,它的checkPermission方法将以AWTPermission("listenToAllAWTEvents")权限调用。这可能会导致 SecurityException。监听器可以在AWTEventListenerProxy对象中返回,其中还包含给定监听器的事件掩码。请注意,多次添加的监听器对象在返回的数组中只出现一次。- 参数:
eventMask- 要监听的事件类型的位掩码- 返回:
-
在此工具包上针对指定事件类型注册的所有
AWTEventListener,如果当前未注册此类监听器,则为空数组 - 抛出:
SecurityException- 如果安全管理器存在且其checkPermission方法不允许该操作。- 自从:
- 1.4
- 参见:
-
mapInputMethodHighlight
public abstract Map <TextAttribute ,?> mapInputMethodHighlight(InputMethodHighlight highlight) throws HeadlessException 返回给定输入方法突出显示的抽象级别描述的视觉属性映射,如果未找到映射,则返回 null。输入方法高亮的样式字段被忽略。返回的map是不可修改的。- 参数:
highlight- 输入法高亮- 返回:
-
样式属性图,或
null - 抛出:
HeadlessException- 如果GraphicsEnvironment.isHeadless返回真- 自从:
- 1.3
- 参见:
-
areExtraMouseButtonsEnabled
报告是否允许处理来自额外鼠标按钮的事件并将其发布到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- 自从:
- 1.7
- 参见:
-
GraphicsEnvironment.getAvailableFontFamilyNames()