我们有些程序会想要托盘处显示图标,最小化到系统栏;关闭按钮不关闭程序,也是最小化到系统栏;点击托盘图标激活窗口,通过托盘图标的弹出菜单来退出程序。
本段代码就是要完成这样的功能,是 SWT 来实现的。
直接代码给出,代码中有较详细的注释,说明了本程序的功能及实现。文中的任务栏和系统栏应该知道是指哪一段吧,微软就是这么定义的,用 spyxx 的 findwindow 窥探一下就知道了。 Read More
Struts 的官方网站 http://struts.apache.org/2.0.11/index.html 列出了 Struts 2 的平台要求有三:
· Servlet API 2.4
· JSP API 2.0
· Java 5
但如果坚持要用 Java 4 也行,Struts 2 在 j4 目录下提供有用 retrotranslator 转换过的 struts2-core-j4-2.x.x.jar 和 xwork-j4-2.x.x 可用。
就是说换两个包可以 让 Struts 2 用 Java 4 环境中,但是未提及能不能用于 Servlet API 2.3/JSP API 1.2 的环境。 Read More
今夜,打开 TheServerSide.Com,看到 MyEclipse 又出新品 MyEclipse Blue Edition,专为 WebSphere 开发者打造的。WebSphere 用户也算是有福了,想想以前在 MyEclipse 里联用 WebSphere Server 是一件多么痛苦的事情啊,所以不得不在本地用 Tomcat 测试,一搬到正式环境难免要受到兼容性的折磨。WSAD 和 RAD 提供的功能自是不必说,但慢的难以忍受,快来体验一下 MyEclipse Blue Edition 吧。
原文翻译如下:
Genuitec 今日宣布发布一款名为 MyEclipse Blue Edition 的新产品,它针对的是 IBM Rational Application Developer (RAD) 和 WebSphere 的开发。 Read More
假定Java 程序中要定期执行 SQL 语句,因需求变更应修改原有 SQL 语句或者加上更多的语句时,不得不修改源代码,然后再次编译。 要是把 SQL 语句写在单独的 SQL 脚本文件中,由 Java 程序来定时加载执行,那么每次改动时仅仅修改 SQL 脚本文件就行了。
Java 没有提供现成的东西,所以自己写了一个这样的 SQL 脚本执行类 SqlFileExecutor。支持通用的 SQL 脚本文件,"--" 作为注释前导符,分号 ";" 分隔语句。不支持 MySQL 的 /*...*/ 形式的注释格式。对于 Windows 和 Linux/Unix 下编辑的脚本文件都测试通过。 这两个系统文件中的换行符不一样,Windows 是 "\r\n",Linux/Unix 是 "\n"。 Read More
我在 Websphere Application Server (WAS) 下配置 JDBC 提供程序时,选择了 Oracle JDBC Driver 确定之后,看到最后一个选项是:oracle.jdbc.pool.OracleConnectionPoolDataSource。
顾名思义,这是一个 DataSource 实现为,就像 DBCP 的 BasicDataSource 一样。那么能不能也像 BasicDataSource 那样,通过 new BasicDataSource(),然后设置各个必须的属性得到一个数据源 DataSource 呢?这个 OracleConnectionPoolDataSource 又是在哪个包里呢? Read More
在上一篇 重定向System.out和System.err到JTextPane,分别用黑色红色显示 中讲了如何把 System.out 和 System.err 重定向到 JTextPane 上,并分不同颜色显示,其中用到了 PipedInputStream、 PipedOutputStream。那个例子还是参考的 《The Java Developers Almanac 1.4》, 翻译出来叫做 《Java 开发者年鉴 1.4》,显得多么的权威啊,我当时还真把它看成官方最佳推荐实现了,太迷信了。
可是现在看来,前面那个实现不仅代码繁琐,而且是 Bug 多多。现在重新对上回的 ConsolePane 来个新的更简洁高效的实现。代码如下: Read More
把 System.out 和 System.err 重定向到 JTextArea 的做法在网上能找到不少,由于 JTextArea 不能用不同的字体分别显示内容。但我还是希望能象 Eclipse 控制台那样,标准输出为黑色,错误信息为红色,于是选择了 JTextPane 作为输出目的地。线程之间通信息用到了 PipedInputStream 、PipedOutputStream 和 SwingUtilities.invokeLater(new Runnable()。
自定义了一个 JScrollPane,类名为 ConsolePane,写成的单例类;使用时只需要在你的面板上加上 ConsolePane组件,例如:getContentPane().add(ConsolePane.getInstance(), BorderLayout.CENTER);
界面截图(黑色和红色分别显示 System.out 和 System.err 定向的输出内容): Read More- 这种情况通常是发生在换了另一份 Eclipse 拷贝之后。之前一般都能正常在 Eclipse 中执行 Ant 脚本,删除了原来的 Eclipse 之后换了另一个拷贝或者是新版本,在其中执行 Ant 脚本时弹出窗口出现以下错误:
---------------------------
Java Virtual Machine Launcher
---------------------------
Could not find the main class. Program will exit.
---------------------------
确定
---------------------------
这种错误对用过 Java 的人来说还是很明白,找不到 Ant 的主类吗。不过说实话也困扰过我一段时间,也没去深究。说开了,症结就是 Eclipse 中的 ANT_HOME 指向不对。 Read More
StrutsConfigHelper 小工具方便你对一个或多个 StrutsConfig 文件按条件查找各要素。 在 《忙里找闲,自写了一个StrutsConfig配置文件条件查找工具》 一文章有对该工具的介绍。
软件为适宜之作,如果它确实对你毫无用处,你大可当它是垃圾,不因作者付出很大的苦劳,而勉强去接受;也许它还能给你带来些便利,那就体现了它的价值。 Read More
工作中有维护 Struts 项目,或看别人项目中代码时,要把访问页面链接与相应处理 Action 类及 FormBean等相关信息对应起来,每每都是打开 Struts 配置文件,Ctrl+F 进行查找,不易准确定位,尤其是项目中有多个 Struts 配置文件时就得这边倒来那边转去的,实为不便。于是乎就为自己写了一个可同时在多个 Struts 配置文件中根据不同条件查找配置信息的小工具,谓之:Struts Config Helper。
这段时间工作上比较的忙,闲暇之间,一点一滴缓慢缀掇而成。也不知对于各位同路人是否有可借鉴之处,张贴出来,希望得到各位的指摘,多给我提些 Bug 出来,不胜感激! Read More