📄 course1.htm
字号:
Application.createThread(new MethodInvoker(MyThread),
Thread.NORM_PRIORITY);
}
/**This thread runs concurrently with form loading and counts to 2000*/
private void MyThread{
for(int i=0; i<=2000; i++){
System.out.println(揟he value is currently equal to ?+ i );
}
}
//More From Code Here
}</pre>
<p>Application.doEvents</p>
<p>处理当前处于消息序列中的Windows消息。</p>
<p class="title_2">语法</p>
<p>public static void doEvents()</p>
<p>public static void doEvents(int message)</p>
<p>public static void doEvents(int messageStart, int messageEnd)</p>
<p class="title_2">参数</p>
<p>message</p>
<p>将要处理的消息。</p>
<p>messageStart</p>
<p>将要处理的消息的开始范围。</p>
<p>messageEnd</p>
<p>将要处理的消息的结束范围。</p>
<p class="title_2">说明</p>
<p>警告:调用doEvents方法处理为paint事件定义的或用createGraphics方法生成的Graphics对象。</p>
<p>DoEvents方法允许执行未执行的Windows消息。这个方法的典型用法是在循环过程中处理消息。调用第一种格式的doEvents重载方法会导致所有的消息被执行。调用第二种格式的doEvents方法只执行相</p>
<p>应类型的消息,这个格式允许你只想处理单一的消息(例如WM_PAINT)而想让其他的消息继续处于等待状态。第三种格式的doEvents方法则允许你处理一部分消息,这些消息从messageStart开始,至messageEnd结束,这将允许你处理在一个范围内的所有消息,如在WM_MOUSEFIRST到WM_MOUSELAST之间的消息。</p>
<p>注意:调用这个方法的时候,你必须非常小心,因为如果消息触发了一个事件,则会引起代码重入的问题。</p>
<p>Application.exit</p>
<p>退出应用程序所有线程的消息循环。 </p>
<p class="title_2">语法</p>
<p>public static synchronized void exit()</p>
<p class="title_2">说明</p>
<p>exit方法关闭应用程序中所有的窗口,关闭所有线程的的消息循环。如果你只想从当前线程的消息循环中退出的话,你应该采用exitThread方法。由于应用程序的线程是在主框架的main方法中启动的,所以调用exit方法不是强迫应用程序退出,而仅仅是导致所有调用run方法立</p>
<p>即返回。如果你的main方法在调用run方法后还有其他代码,他们将被继续执行。</p>
<p>Application.exitThread</p>
<p>关闭当前线程的所有窗口并中止该进程的消息循环。</p>
<p class="title_2">语法</p>
<p>public static void exitThread()</p>
<p class="title_2">说明</p>
<p>exitThread方法允许你中止指定的线程的消息循环并关闭在这个线程中打开的所有窗口。如果你想要退出应用程序并关闭由这个线程打开的其他所有线程,请调用exit方法。</p>
<p>请参阅:exit, run</p>
<p>Application.freeThreadStorage</p>
<p>释放指定线程的存储槽(storage slot)。</p>
<p class="title_2">语法</p>
<p>public static void freeThreadStorage(int index)</p>
<p class="title_2">参数</p>
<p>index</p>
<p>指定线程存储槽的索引值,这个值必须是早先调用allocThreadStorage方法所获得的返回值。</p>
<p class="title_2">说明</p>
<p>freeThreadStorage方法允许你释放掉线程的存储槽。如果一个当前正在使用的对象正存储在这里,存储槽将被在释放前设置成null。有关这个方法的例子,请参阅allocThreadStorage。</p>
<p>请参阅:getThreadStorage, setThreadStorage</p>
<p>Application.getActiveForm</p>
<p>检取应用程序当前活动窗口的引用。</p>
<p class="title_2">语法</p>
<p>public static Form getActiveForm()</p>
<p class="title_2">返回值</p>
<p>如果存在一个激活的窗口,则返回一个Form引用,否则返回null。</p>
<p class="title_2">说明</p>
<p>使用getActiveForm方法,你可以获得当前活动的窗口,并对其或其中的控件执行相应操作。如果你写的是一个多文档界面(MDI)的应用程序,并且想要获得当前激活的子窗口,那么请用Form.getActiveMDIChild方法,反过来,想要访问MDI子窗口的父窗口,请用getMDIParent方法。</p>
<p>Application.getCurrentLocale</p>
<p>检取描述当前线程的场所设置的locale对象。</p>
<p class="title_2">语法</p>
<p>public static Locale getCurrentLocale()</p>
<p class="title_2">返回值</p>
<p>返回当前线程的场所设置的locale对象。</p>
<p class="title_2">说明</p>
<p>应用getCurrentLocale方法,你可以检取描述当前线程的场所设置的locale对象。你可以用这个方法决定在你的应用程序中采用何种语言,何种货币,何种时间系统等这些定义在用户控制面板中的设置。</p>
<p>请参阅:setCurrentLocale</p>
<p>Application.getStartupPath</p>
<p>检取启动此应用程序的执行文件的绝对路径。</p>
<p class="title_2">语法</p>
<p>public static String getStartupPath()</p>
<p class="title_2">返回值</p>
<p>返回一个String对象,这个对象包含了启动应用程序的执行文件的完整路径。</p>
<p class="title_2">说明</p>
<p>getStartupPath方法所返回的字符串根据启动这个应用程序的方式不同而不同,如果你在Visual J++中启动你的应用程序,getStartupPath所返回的路径将是用来在Visual J++内启动你的应用程序的WJView.exe或JView.exe文件的位置,如果你用.exe文件启动你的应用程序,那么这个方法将返回那个.exe文件的路径。</p>
<p>Application.getThreadStorage</p>
<p>检取存储在指定线程的存储槽中的对象。</p>
<p class="title_2">语法</p>
<p>public static Object getThreadStorage(int index)</p>
<p class="title_2">参数</p>
<p>index</p>
<p>index是指定线程的存储槽的索引值。这个索引值必须是早先调用allocThreadStorage方法获得的返回值。</p>
<p class="title_2">返回值</p>
<p>返回调用者早先存储在存储槽中的对象。如果没有对象存储在存储槽中,返回null。</p>
<p class="title_2">说明</p>
<p>为了从指定线程存储槽中检取对象,你必须知道这个存储槽的有效索引值。这个索引值是通过早先调用allocThreadStorage方法获得的。当从存储槽获取信息的时候,你必须保证你用正确的类型调用getThreadStorage方法,要在指定线程的存储槽中存储信息,你可以调用setThreadStorage方法,例子请参阅allocThreadStorage方法中的例子。</p>
<p>请参阅:freeThreadStorage</p>
<p>Application.OLERequired</p>
<p>在你的应用程序中初始化OLE。</p>
<p class="title_2">语法</p>
<p>public static void OLERequired()</p>
<p class="title_2">说明</p>
<p>OLERequired方法用来检测当前线程是否初始化了OLE,应用程序在线程退出时自动删除OLE设置。</p>
<p>注意:除非你要直接用OLE功能,否则你没有必要调用这个方法。</p>
<p>Application.removeMessageFilter</p>
<p>删除早先通过addMessageFilter方法加入的消息过滤器。</p>
<p class="title_2">语法</p>
<p>public static void removeMessageFilter(IMessageFilter value)</p>
<p class="title_2">参数</p>
<p>value</p>
<p>你想要从消息泵中删除的消息过滤器,是一个实现了ImessageFilter界面的对象。</p>
<p class="title_2">说明</p>
<p>消息过滤器允许一个应用程序监视Windows的消息并传送到正确的位置。对每个确定的线程来说消息过滤器是唯一的。你可以用消息过滤器在消息传递给事件处理方法之前处理它,以防止触发一个特定的对象,或执行一个特定的事件。</p>
<p>请参阅:addMessageFilter</p>
<p>Application.removeOnApplicationExit</p>
<p>删除早先调用addOnApplicationExit方法加入的applicationExit事件处理器。</p>
<p class="title_2">语法</p>
<p>public static void removeOnApplicationExit(EventHandler value)</p>
<p class="title_2">参数</p>
<p>value</p>
<p>要删除的com.ms.wfc.core.EventHandler代表。</p>
<p class="title_2">说明</p>
<p>在应用程序退出时,application exit事件被触发。这给应用程序提供了一个机会,使之能够在应用程序退出前删除所有的不能被垃圾收集(garbage collection)机制释放的对象。不能够通过applicationExit事件处理方法阻止应用程序的关闭。想要阻止应用程序被关闭,你可以处理应用程序主框架中的closing事件。</p>
<p>请参阅:addOnApplicationExit</p>
<p>Application.removeOnIdle</p>
<p>删除早先通过调用addOnIdle方法加入的Idle事件处理器。</p>
<p class="title_2">语法</p>
<p>public static void removeOnIdle(EventHandler value)</p>
<p class="title_2">参数</p>
<p>value</p>
<p>要删除的com.ms.wfc.core.EventHandler代表。</p>
<p class="title_2">说明</p>
<p>每当应用程序的消息序列为空的时候,idle事件被触发。每个线程均可以定义一个idle事件处理方法。采用这种方式你可以在线程出于idle状态时执行后台操作和普通应用程序清理工作。</p>
<p>注意:因为除非idle事件处理方法返回,应用程序不能处理消息循环,所以请不要在这个方法内执行需要长事件才能完成的任务。</p>
<p>请参阅:addOnIdle</p>
<p>Application.removeOnSettingChange</p>
<p>删除早先调用addSettingCahngeHandler方法加入的settingChange事件处理器。</p>
<p class="title_2">语法</p>
<p>public static void removeOnSettingChange(EventHandler value) </p>
<p class="title_2">参数</p>
<p>value</p>
<p>要删除的com.ms.wfc.core.EventHandler代表。</p>
<p>说明当用户改变一种或几种窗口设置时,settingChange事件就被触发了。Windows Java基础类库(WFC)内部可以处理这个事件,包括恰当地更新应用程序中正在应用的所有brush,pen,color和font对象。当用户系统设置被改变时,你可以用这个方法对你的应用程序作更多的修改。</p>
<p>请参阅:addOnSettingChange</p>
<p>Application.removeOnSystemShutdown</p>
<p>删除早先调用addOnSystemShutdown方法加入的systemShutdown事件处理器。</p>
<p class="title_2">语法</p>
<p>public static void removeOnSystemShutdown(CancelEventHandler</p>
<p>value)</p>
<p class="title_2">参数</p>
<p>value</p>
<p>要删除的com.ms.wfc.core. CancelEventHandler代表。</p>
<p class="title_2">说明</p>
<p>在用户从Windows系统退出登录或关闭系统之前,systemShutdown事件被触发。这个事件可以被忽略掉,从而导致关机请求被中止。典型情况下,这是应用程序在中止前接到的最后一个事件,作为回应,应用程序应该保存在这个事件发生时所有正在打开的文件。</p>
<p>Application.removeOnThreadException</p>
<p>删除早先调用addOnThreadException方法加入的threadException事件处理器。</p>
<p class="title_2">语法</p>
<p>public static void removeOnThreadException(ThreadExceptionEventHandler value) </p>
<p class="title_2">参数</p>
<p>value</p>
<p>要删除的ThreadExceptionEventHandler。</p>
<p class="title_2">说明</p>
<p>当一个没有被捕获的Java异常被抛出的时候,threadException被触发。这个事件允许应用程序正确地处理异常,而不必突然中止这个应用程序。对每一个线程都可以定义一个threadException事件处理方法。</p>
<p>请参阅:addOnThreadException</p>
<p>Application.run</p>
<p>开始运行一个标准的应用程序并在当前线程中启动消息循环。</p>
<p class="title_2">语法</p>
<p>public static void run()</p>
<p>public static void run(Form mainForm) </p>
<p class="title_2">参数</p>
<p>mainForm</p>
<p>描述应用程序开始运行时的主框架的Form对象。如果这个值是null的话,那么调用这个格式的run方法和调用不带任何确定参数的run方法是一样的。</p>
<p class="title_2">说明</p>
<p>如果在调用run方法的时候指定了Form对象,那么这个框架的visible属性将被自动设置成true,同时一个closing事件处理器被加到此框架上。Closing事件处理器替你调用exit方法,作清理应用程序的工作。如果你没有给这个方法传递一个作为参数form对象,那么消息循环将一直运行下去,直到exit方法或exitThread方法被调用。典型情况下,应用程序的main方法以应用程序的主窗口作为参数调用run方法。</p>
<p>Application.setCurrentLocale</p>
<p>设置当前线程的场所(locale)。</p>
<p class="title_2">语法</p>
<p>public static void setCurrentLocale(Locale locale)</p>
<p class="title_2">参数</p>
<p>locale</p>
<p>一个描述当前线程的新场所的Locale对象。</p>
<p class="title_2">说明</p>
<p>想要改变当前线程的场所信息,你可以用setCurrentLocale方法并同时提供一个Locale对象。场所信息允许一个线程决定在应用程序中采用何种语言、货币单位、时间系统等等。想要获取一个线程的场所信息,你可以调用getCurrentLocale方法。</p>
<p>Application.setThreadStorage</p>
<p>在一个指定的线程的存储槽中设置一个对象。</p>
<p class="title_2">语法</p>
<p>public static void setThreadStorage(int index, Object object)</p>
<p class="title_2">参数</p>
<p>index</p>
<p>线程存储槽的索引值,这个索引值必须是先前通过调用allocThreadStorage方法获得的。</p>
<p>Object</p>
<p>需要存储的对象。当此值为null的时候,调用此方法将会清除当前存储在指定存储槽中的对象。</p>
<p class="title_2">说明</p>
<p>你可以调用setThreadStorage方法存储线程的特定信息,像全局对象或全局变量等那些线程必须的东西。要从线程的存储槽中检取这些信息,你必须预先用allocThreadStorage方法分配一个存储槽,并得到它的索引值,关于此方法的应用例子,请参阅allocThreadStorage方法。</p>
<p>请参阅:freeThreadStorage, getThreadStorage</p>
<hr><p class="title_1"><a name="CharacterSet类">CharacterSet类</a></p>
<p>封装了font对象可以使用的不同的字符集。</p>
<pre>Enum
|
+--CharacterSet</pre>
<p>package com.ms.wfc.app</p>
<p>public class Character</p>
<p>Setextends Enum</p>
<p class="title_2">说明</p>
<p>CharacterSet类提供了一系列的枚举值,Font对象采用这些枚举值定义字符集。</p>
<p class="title_2">字段</p>
<p>CharacterSet.ANSI</p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -