gr8vyguy@Blogjava

我的作品: 抓图软件

这是本人新近开发的抓图软件,目前已经完成大部分预期的功能,详细情况请看抓图软件开发计划 .

运行环境需求:

  • Window系列系统,Java 1.6 +

如果你确实需要Java 1.5的版本,可以来信联系,但是不支持更早的Java版本。

百闻不如一见,看几张截图吧

  
里面的那双眼睛就是我的抓图程序



这是图片处理窗口,如果你选择截图目的地是To View, 截取一张图后,将自动打开这个窗口。这个窗口的功能还没有完全实现。目前只支持保存,打开,放大和缩小。缺少编辑功能。



这是设置对话框,用SWT的ExpandBar做的。

软件下载:

    ScreenCapturer.zip

下载后,请解压,双击Screen Capture.exe,就可运行本程序

如何截取菜单

  1. 选择截取方式为 Capture Window/Object,
  2. 打开你要截图的菜单
  3. 按Ctrl + Shift + F12激活截图
  4. 在菜单内单击鼠标
如何将截取的图片通过MSN Messeger和Google Talk发送给你的朋友
  1. 选择Destination为To Clipboard
  2. 截图
  3. 在通话框里粘帖
一个缺点是格式是BMP,文件太大,对方如果不是Windows系统,可能没法看BMP的格式,下个版本将改成JPG格式。在开发的时候,并没有想到这种使用方式,如果你想到有趣的使用本软件的方式,烦请告诉大家。

更详细的帮助文档正在编写,不过不知道什么时候能完成。还有本程序的使用还是很直观的,用用就会。请将在使用本软件过程中,遇到的问题和错误来信告诉作者, 我的Email是 xilai.lehaha@googlemail.com,谢谢!

另外,我还在考虑进一步的开发,非常高兴听到你的宝贵意见!


转载请保留http://www.blogjava.net/xilaile/archive/2007/05/02/114983.html

posted on 2007-05-01 18:12 gr8vyguy 阅读(3100) 评论(18)  编辑  收藏 所属分类: JavaMS Windows

评论

# re: 我的作品: 抓图软件[未登录] 2007-05-01 21:05 刘明

老大,厉害呀,能用java做到这种程度相当不简单呀。

不过,目前我觉得用java进行gui类开发不太好,至少在java7之前这个情况目前是无法改观的。  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-01 22:33 Pande

@刘明
"java进行gui类开发不太好", 很多人有这种想法,可能是AWT/Swing留给人们的影响。

不过,我还想问问你觉什么比Java好, Java7里又有什么会改善Java的这些弱点?  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-02 02:57 我为J狂

代码能不能共享一下?至少也应该介绍一下使用的技术呀!  回复  更多评论   

# re: 我的作品: 抓图软件[未登录] 2007-05-02 05:23 刘明

to:pande

我个人观点啊。像vb、dehpi、c++等开发gui要比java好,目前来说。之所以认为java7会带来一定的改观是到时jre的改变。大家可以考虑探讨一下。  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-02 08:47 ddd

请问BZ,

你是如何封装java程序到exe的??

谢谢。。SWT做Win窗口还是不错的,起码界面一样...
  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-02 09:27 Pande

@刘明
vb, delphi都是封装了Windows自身的GUI,SWT实际上也是如此。所以我觉得有了SWT后的Java在GUI方面完全可以和vb,delphi一拼。而且使用SWT没有把自己绑在Windows上的危险。目前来说,SWT对Windows的支持是最好的,对其他系统的支持也会越来越好。同时Java还有Swing。Java目前最缺乏的也许是象VB,Delphi那样高质量的可视化界面编辑器。

对于JRE7.0,我不清楚,有时间我再找点资料看看的。如果你能提供相关的链接就更好了。

@我为J狂
Java+SWT,如果没有的话,用Visual C++

@ddd
请看Java的Invocation Interface  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-03 03:08 BeanSoft

各位大大有必要提示一下: 直接用 SWT 或者说 Java 貌似还不能直接操作系统的 Window, Object 这样的东西, 这个应用是用 JNI 接口调用 Visual C++ 编写的 DLL, 所以各位与其说要学好 Java 才能做桌面应用, 还不如说学好 Java 和 VC 才能真正的作出和 Windows 紧密集成的 Java 桌面应用. 再换句话说, SWT 的本地类库都是 C++ 代码, JDK 源码里面的底层操作如画图, 线程, 网络读写之类的底层都是用 C 语言写成的.  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-03 11:25 Pande

@BeanSoft
同意BeanSoft老兄的观点,做和Windows紧密集成的Java桌面应用确实离不开对Windows API的使用。但是现实的桌面应用中,紧密到需要Windows API的部分并不多。比如举个金山词霸的例子,假设金山词霸用Java+SWT写的,需要用Windows API的地方也就是屏幕取词这块功能,那么金山词霸就很容易移植到Linux和苹果下面。用原生代码分别实现屏幕取词就行了。遗憾的是金山词霸到现在还没有Windows以外的版本。

当然用Swing写的话,移植所需的工作是一样的,甚至更小。用SWT的好处是,你用VB,VC和Delphi能做到什么程度,用SWT也可以做到什么程度,而且更容易。

MFC是对Windows API的面向对象封装,SWT可以说是对多种系统接口的面向对象封装,包括对Windows API的面向对象封装。

现在的GUI库太多,战打的也很厉害。SWT出现后,本身就分裂的Java世界就更加分裂了。  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-03 11:43 Pande

虽然我人微言轻,但是还是要说的是,对SWT的批评主要来自Java Swing的阵营,其实这个世界足够的大,希望搞Java Swing那些大牛们能抛开成见,希望SWT和Swing,SWT和Java能够早日融合到一块。

只有当用Java开发的桌面应用能够和用VB,VC以及Delphi一样强时,而且能够很容易的移植到其他平台时,才能指望有一天Windows操作系统的霸主地位被撼动。

后头看看十年前的一篇杂志

BYTE Magazine, January 1997: "Can Java Replace Windows?"

"Today the Web, Tomorrow the World"
"Why Java Won't Repeat the Mistakes of Unix"
"The Bitter Taste of Java"
"Corel's New PDA and Java Suite"
"Java to Power Flying Car"

让人不由的感叹。我相信如果SWT出现在十年前,Java的世界将改变不少,甚至可能改变Windows和Linux目前的格局。可惜这个世界没有如果,SWT来迟了吗?SUN内部是否后悔当年抛弃AWT,花大钱开发Swing呢?
  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-04 03:28 BeanSoft

个人觉得吧, 这里面更重要的因素是商业因素, 各大公司之间有协议不互相拆台... 至于做桌面应用, 可以看看当年的 Visual J++, 1999 年的时候就已经能做纯正的 Windows 应用:

怀旧 -- Visual J++, 第一款真正意义上的 Java IDE
http://www.blogjava.net/beansoft/archive/2007/01/19/94922.html

后来官司问题, 微软才一怒之下做了 .NET.  回复  更多评论   

# re: 我的作品: 抓图软件[未登录] 2007-05-04 06:44 Roger

我觉得使用c#来做windows下的桌面应用比SWT要合适。
如果做跨平台的应用swing是最优秀的。  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-04 10:45 Pande

@BeanSoft
@Roger
的确有很多商业因素。

相信没有人会怀疑,Microsoft从底子里是反对跨平台的,我不是批评Microsoft,我相信换了谁都会这样做。所以用J++,C#, .NET做的软件很容易就绑死在Windows上,当然你也可以用J++,C#,.NET做出支持多种平台的软件,可惜在现实中,大多数.NET的软件只支持Windows, 即使是CLR已经是跨平台的了。不是Microsoft做不出跨平台的东西,跨平台不是Microsoft的利益所在。

Swing很好,可是习惯Windows的用户不喜欢它。同样不是SUN弄不出和Windows紧密集成的Java,这都不是技术上的问题,而是出于商业利益的考虑。SUN希望以Swing的Write Once, Run anywhere的口号推广Swing,以此逐步动摇Windows的地位。可惜SUN没有达到他的目的。

同样SWT也是IBM出于自身的利益开发的。SWT让我喜欢,为什么?第一用SWT开发的Windows程序和用VB,Delphi以及.NET给用户的体验是一样。我更少的听到, Windows用户说,"这为什么会这样,Word不是这样。", 更多的听到用户说,"对,Windows就是这样的毛病,没事的". 我相信其他平台会有类似的情况,但我还没有亲身的体验,因为能让我赚钱的用户大多来Windows。虽然如此,我还是不想把自己绑死在Windows上,这也是我的第二点。用SWT做的程序同样有很好的跨平台性,看看Eclipse就知道。

在此,我没有任何批评,讽刺用Swing, .Net, Delphi的人的意思,我喜欢SWT。我也相信用Swing,.Net, Dephi, Smalltalk, VC等等同样可以写出非常优秀的软件。让人佩服的是那些不管用什么语言都能写出非常优秀的软件的人。

整合SWT对Java本身来说只有好处,但是Sun已经在Swing上花了很多钱,而且很可能Swing还有来自其他大公司的股东,所有我相信那是不会发生的。面临SWT的压力,Swing也会更好。SWT让Swing不得不解开头上的紧箍咒,Write Once, Run Anywhere.

跨平台可以牺牲适度的性能为代价,但是不能以牺牲软件的功能为代价。这是我的观点。 现实也是如此,大肆吹嘘Swing跨平台的人是可笑,想想为什么Netbeans给不同的平台会有不同下载包吧?




  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-10 01:25 BeanSoft

嗯, 客户要什么版本就做什么版本...一切都是为了 商业利益, 说实话个人更喜欢做桌面软件, 可是面对市场, 只有苦学 Web. 现在我对这都倦了, 想去做讲师, 呵呵.  回复  更多评论   

# re: 我的作品: 抓图软件 2007-05-10 09:33 Pande

@BeanSoft
对,最终还是得听客户的,但是我们的意见客户还是很尊重的。桌面软件往往不是从零开发,而是从现有的框架甚至代码改编的。做讲师好阿,自由。  回复  更多评论   

# re: 我的作品: 抓图软件 2007-07-10 08:54 someone

我们说SWT好是因为我们熟悉Eclipse,在用Eclipse,但是我们说Swing不好是不是也是因为我们了解Swing呢?

Swing可能给才认识它的人来说是不好的用户感受,不过那个感受你完全可以改得很漂亮,就在这个BLOG网站有人就自己改LookAndFeel实现了瑞星杀毒软件的主界面http://www.blogjava.net/azure/archive/2007/03/08/102588.aspx。再给你们看一个仿VS的界面https://flexdock.dev.java.net/。然后就是程序的速度了,Swing的程序确实速度要比其他写的界面要慢,主要原因就不赘述了,其实JRE5之后就没有这么明显了,可能有零点几秒的感觉。

Swing的社区比SWT要活跃得多。而且经过了很多年的沉积,拥有相当多的组件和应用范例。而SWT脱离娘胎RCP的应用数量还有限(比较出名的有猫头鹰RSS浏览器等),就连RCP(SWT/JFace)本身的应用数量都有限,大多是针对Eclipse本身的插件,这样的发展对于SWT来说是极其不利的,而且本身的贡献人数就少了很多,其实SWT的发展是相当缓慢的,例如Eclipse网站上有一个http://www.eclipse.org/nebula/,这个算是SWT官方的组件编制团队了,但是里面很多组件都开发了超过半年多的时间了,都还是在Alpha状态,这样的贡献速度是有限的。所以SWT也得努力努力呀。

再说说Game这个特殊的桌面应用吧,SWT开发出来的Game就我目前可知的近乎零,而用Swing开发出来的游戏就数不胜数了,有用了DX和OGL,也有只用了一般绘图的,游戏的种类繁多。就这点来说SWT还有很长的路,SWT自己也在结合OGL,但是例子是在太少了。  回复  更多评论   

# re: 我的作品: 抓图软件 2007-07-13 02:55 三告习习

做java的应该都会比较习惯eclipse的界面吧。
即使你是netbeans fan或者其他什么fan。eclipse就不值得你去试试?
用vc、vb或者其他做的界面swt也能做,但是有语言的界限。
都是讨论为什么不用VC做,简单的理由对与很多人试用:我现在暂时是java程序员(如果你在一个多语言同时使用的公司做决策,才有得抉择吧)。
等你用了vc做,也会有很多人问:为什么不用swt做?
我们为什么不尝试下swt?只是一种根据自身的某种情况做的选择而已。
swing有它自己的用处,但是,总不能一概而论。swt也有很多系统的版本,最喜欢的就是它界面很接近你的系统,有中很平滑过渡的感觉,有什么比这更亲切呢?使用基于ecipse平台开发rcp,首选,如果你需要开发效率更高点的话!
支持楼主的选择!  回复  更多评论   

# re: 我的作品: 抓图软件[未登录] 2008-08-22 04:23 大卫

最新版的NetBeans 6.5 m1开发Java就超爽,其自带的GUI设计就跟VS 2005一样,其功能也开始超越Eclipse 3.4版,我相信NetBeans 6.5以后正式版本会更好更出色!我已经从Eclipse 3.4转到NetBeans平台上了,原来Eclipse开发过的项目可以很轻松地导入到NetBeans平台中来,爽吧!  回复  更多评论   

# re: 我的作品: 抓图软件[未登录] 2012-02-09 10:40

请问这个软件为什么无法打开呢?  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

公告

  • 转载请注明出处.
  • msn: gr8vyguy at live.com
  • 常用链接

    留言簿(9)

    随笔分类(68)

    随笔档案(80)

    文章分类(1)

    My Open Source Projects

    搜索

    积分与排名

    最新评论