|
演示五:系统任务栏图标和系统日志
工具:将 Jar 文件转换为 Exe 可执行文件。
第一部分:代码示例
1. 下载接口代码,放入 java 源程序目录中,并进行编译:
接口代码下载:[接口代码下载] - 4kb
2. 编写文件 D:\test\HelloTray.java:
/*
* Created on 2007-2-5
*/
package test;
import java.io.*;
import com.regexlab.j2e.*;
/**
* @author sswater shi
*/
public class HelloTray implements SystemTrayCallback
{
public static void main(String[] args) throws Exception
{
System.out.println("Hello World");
System.out.println();
// arguments
if(args.length > 0) dump_args(args);
// SystemTray
SystemTray tray98 = new SystemTray(1, "hello, simple tip");
SystemTray tray2k = new SystemTray(1, "hello", "win 2k info",
"title", SystemTray.INFOTYPE_INFO);
SystemTray.setSystemTrayCallback(new HelloTray());
// EventLog
EventLog log = new EventLog("Log from Java");
try
{
System.out.println("Testing:\n 1 - test system tray,\n 2 - hide trays,\n 3 - test eventlog,\n 4 - exit");
BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
String line = null;
while((line = in.readLine()) != null)
{
switch(line.charAt(0))
{
case '1':
tray98.Show();
tray2k.Show();
System.out.println("Icon shown.");
break;
case '2':
tray98.Hide();
tray2k.Hide();
System.out.println("Icon hidden.");
break;
case '3':
log.reportEvent(EventLog.INFORMATION,
(short)0, 1, "msg");
System.out.println("New log reported.");
break;
case '4':
System.out.println("exiting");
return;
}
}
}
finally
{
tray98.Hide();
tray2k.Hide();
}
}
protected static void dump_args(String[] args)
{
System.out.println("You have typed " +
args.length + " arguments:");
for(int i=0; i<args.length; i++)
{
System.out.println(i + " - " + args[i]);
}
}
public void OnMouseClick(SystemTray tray, int mouseEvent)
{
if(mouseEvent == SystemTray.LEFT_CLICK)
System.out.println("left clicked");
}
} |
第二部分:编译和运行
1. 下载最新的 Jar2Exe Wizard 1.7 。 2. 进行 jar 到 exe 转换时,注意选择“启用任务栏图标”和“启用系统日志”。 3. 下载本例中的示例代码和示例结果:
[SysTrayDemo.zip] - 34kb
更多演示:
演示一:如何用 Java 开发并生成一个 控制台程序?
演示二:如何用 Java 开发并生成一个 Windows 窗口程序?
演示三:如何用 Java 开发服务并作为 Windows NT 服务运行?
演示四:支持“暂停/继续”的 Windows NT 服务运行?
|
|
|