易截截图软件、单文件、免安装、纯绿色、仅160KB

AIR2.0入门教程:与Java应用交互

在之前的一篇文章中,我介绍了如何使用AIR2.0新增的NativeProcess类与本地进程进行交互和通讯,在那个例子里面我们使用了C++
的代码,实际上只要是基于命令行的标准输入输出,AIR2.0的应用是可以和任何语言编写的本地进程进行交互的。在今天的例子中,我们将学习如何和
Java编写的本地进程(.jar文件)进行交互。
上一篇教程的地址:AIR2.0入门教程[三]:与本地进程的数据通讯
注:这篇文章所涉及的源码和示例来自于Mihai的一篇文章

回顾
在AIR2.0中,我们可以使用NativeProcess
和NativeProcessInfo
这两个类,来启动一个可执行文件。当进程启动后,你就可以使用标准输入和标准输入来与进程通讯。
结合Java
首先,你可以下载示例项目
,这个项目包含了两个部分:
AIR部分:是一个基于Flex4
Framework的AIR项目,实现了用户界面(UI)部分的工作,界面包含两个窗口,如下图所示,右边的窗口是主窗口,你可以看到当前的帧频,然后你
还可以控制左侧的滚动条来放大和缩小右侧的图像。左边的窗口则用来显示遮盖区域的图像。
Java部分:控制定位到屏幕的特定区域,然后捕获截图,这个部分被AIR部分所控制。
示例截图:
你可以使用Flash Builder4,将下载的示例项目导入,编译运行看一下结果,注意这个项目使用了Flex4的Framework,而且有可能需要你修改SDK的配置,参见第一篇AIR2.0教程

在AIR部分的代码中,我们需要创建一个NativeProcess的实例来注册侦听标准输出事件。首先我们需要调用Java命令,启动我们的.jar文件,然后输入“take”命令来获取屏幕截图
1
:
private
var
nativeProcess:
NativeProcess;
2
:
private
var
npInfo:
NativeProcessStartupInfo;
3
:
//启动进程,并输入参数
4
:
var
arg:
Vector.<
String>
= new
Vector.<
String>
;
5
:
arg.push
(
"-jar"
)
;
6
:
arg.push
(
File.applicationDirectory.resolvePath(
"screenshot.jar"
)
.nativePath)
;
7
:
arg.push
(
"130"
)
;
8
:
arg.push
(
"100"
)
;
9
:
10
:
npInfo = new
NativeProcessStartupInfo(
)
;
11
:
//设置Java的路径
12
:
npInfo.executable = new
File(
"/Library/Java/Home/bin/java"
)
;
13
:
npInfo.arguments
= ar


相关文档:

java 二分法


public class Test4 {
 public int binarySearch(int[] items, int value){
  
     int startIndex  = 0;
     int stopIndex   = items.length - 1;
     int middle      = (int)Math.flo ......

传智播客java培训★★★★★学习生活篇 学习感受

      来北京已经是近20天了,起初刚到对我的打击确实不小,很想回家 的感觉,但是来到了传智,来到了这里,心里感觉好多了,人生地不熟,人的心里一般都是很孤独的,想在心里找个依靠,找个朋友能一起出去玩,聊天,学习。来到了北京,是一个全新的生活方式,什么都要靠自己了,出门真的很难,尤 ......

java面试题

1  字符串比较是否相等用什么方法?
2 equals()和hashCode()的区别?
3 forward和senRedirect区别?
4 servlet生命周期?
5 过滤器的作用
6 JSP包含静态文件的语法
7 JSP注释(至少两个以上)
8 table中border,cellpadding,td中colspan,rowspan的意义
9 js三种弹出窗口 a 警告  b 确认  c 信息 ......

网上找了个java随机生成密码的。。。发上来记录一下。

import java.util.Random;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(genRandomNum(10));
}
/**
* 生成随即密码
* @param pwd_len 生成的密码的总长度
* @return 密码的字符串
*/
p ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号