随笔-46  评论-64  文章-2  trackbacks-0
 
     摘要: 原文地址:  http://java.sun.com/docs/books/tutorial/rmi/index.html 译者:jht 欢迎大家对翻译中存在的问题批判指正,谢谢大家!从Word粘帖过来之后格式有点问题,所以把word文档传上来了,点击下载 RMI   ...  阅读全文
posted @ 2007-05-09 16:59 jht 阅读(2049) | 评论 (0)编辑 收藏
     摘要: 一、一些概念     WebService技术现在几乎无处不在,以前玩.NET的时候最开始接触这个概念,C#语言对WebService近似原生性的支持使我们用C#可以非常迅速的开发出一个WebService,没有任何复杂烦扰的步骤。    后来没有机会再在.Net Framework上面开发,转投了Java的怀抱,想要开发出一个WebService感觉比较,搞一堆命令生成一堆...  阅读全文
posted @ 2007-03-31 21:27 jht 阅读(3673) | 评论 (3)编辑 收藏
     摘要: 今天稍微花了点时间实现了一个java的屏幕截图程序,功能简单,支持全屏截图和选择截图用JSmooth做了个.exe程序,直接运行就可以了,附:程序下载 http://www.blogjava.net/Files/jht/MyScreenSnap.zipJRE1.4版本的可执行程序 http://www.blogjava.net/Files/jht/MyScreenSnap_jre1.4.zip关键...  阅读全文
posted @ 2007-03-29 19:19 jht 阅读(1666) | 评论 (5)编辑 收藏
这个技巧比较Cool也比较基础常用,关键技术是使用图像重新绘制组件
看下面demo的代码
import java.awt.Insets;
import javax.swing.ImageIcon;
import javax.swing.JButton;

public class ImageButton extends JButton {

    
private static final long serialVersionUID = 7760427126786950870L;

    
public ImageButton(ImageIcon icon) {
        setSize(icon.getImage().getWidth(
null),icon.getImage().getHeight(null));
        setIcon(icon);
        setMargin(
new Insets(0,0,0,0));
        setIconTextGap(
0);
        setBorderPainted(
false);
        setBorder(
null);
        setText(
null);

    }

}


稍微要解释一下的是讲button的边框都设置成为0,还有边框的重绘设置false,我们可以用不同的贴图表示按钮被选中等的状态

使用这个组件的demoCode

        ImageButton button = new ImageButton("images/*.png");
        button.setPressedIcon(
new ImageIcon("images/*.png"));
        button.setRolloverIcon(
new ImageIcon("images/*.png"));
        button.setSelectedIcon(
new ImageIcon("images/*.png"));
        button.setRolloverSelectedIcon(
new ImageIcon("images/*.png"));
        button.setDisabledIcon(
new ImageIcon("images/*.png"));
        button.setDisabledSelectedIcon(
new ImageIcon("images/*.png"));

这个Hack要显示效果好,关键就在于贴图了,可见美工很重要。

我准备每天Hack一篇

更多内容,可以看Swing Hacks


参考资料:
 "Swing Hacks by Joshua Marinacci and Chris Adamson. Copyright 2005 O'Reilly Media, Inc., 0-596-00907-0."
posted @ 2007-03-28 23:57 jht 阅读(505) | 评论 (0)编辑 收藏
It's easy to create a frame without title bar.Just use this method setUndecorated(true)

JFrame frame = new JFrame();
frame.setUndecorated(
true);
frame.setSize(
500200);
frame.show();
posted @ 2007-03-28 13:24 jht 阅读(396) | 评论 (0)编辑 收藏

Step1:创建带有Native方法描述的ProcessHandler.java文件

Step2javac 编译该文件,生成ProcessHandler.class文件

Step3javah ProcessHandler.class 生成pkg_ProcessHandler.h Native方法头文件,注意包名字为pkg,所以生成的方法以pkg_开头

Step4:使用Eclipse建立Managed Make C++ Project,在第二步选择Shared Library,然后把刚刚生成和的pkg_ProcessHandler.h 加入工程

Step5:实现Native方法,从头文件里面Copy出这个方法,完成具体实现,编译工程,生成dll

Step6:完成后Jni调用,注意dll库需要在系统Path里,否则会出现java.lang.UnsatisfiedLinkError: no *** in java.library.path

 

 

除了上面的路径问题,还有可能不能成功调用该 dll ,原因上 g++/gcc 编译出来的东西和 java 预期的不匹配,详细描述参考 http://www.blogjava.net/lixf/archive/2005/12/23/25177.html win32 下使用 gcc 编译供 java 调用的 dll 须知 (jni) 我也是遇到问题 Google 到这篇文章的, Solution 当然也在该文章里面

 

参考资料:

例解 VC++ 6.0 实现 JNI (非烂文)

posted @ 2007-01-16 15:33 jht 阅读(328) | 评论 (0)编辑 收藏
     摘要: 国内Nokia手机主要参数列表 型号   所属系列 最大Jar SizeMIDP版本 CLDC版本屏幕尺寸3105S40164KB11128x1283200S40164KB11128x1283300S40164KB11128x1283510S40164KB11128x1283530S40164KB11128x1283650S601动态分配11176x2086220S40164KB11128x128...  阅读全文
posted @ 2007-01-01 17:10 jht 阅读(461) | 评论 (0)编辑 收藏
Sun Microsystems 将 J2ME 定义为“一种以广泛的消费性产品为目标的的高度优化的 Java 运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统。”

J2ME最早在1999 年 6 月的JavaOne大会上被正式提出之后,J2ME 为小型设备带来了 Java 语言的跨平台功能,允许移动无线设备共享应用程序。有了 J2ME,Sun 已经使 Java 平台能够适应集成了或基于小型计算设备的用户产品。

J2ME实际上是一系列规范的集合,由JCP(Java Community Process)制定并发布相关的JSR(Java Specification Request),各个厂商按照规范在自己的产品上进行实现,但是必须要通过TCK(Technical Compatible Kit,兼容性测试)测试来保证兼容性。

J2ME定义了一种灵活的层次规范结构来规范众多的移动设备,不同层次的规范互相协作提供一个完整的移动Java平台。
20059610835921.jpg 

J2ME体系结构和配置
  (1)J2ME体系结构

  J2ME体系结构基于设备的系列和类别,一个类别定义了一个特定种类的设备。移动电话、寻呼机和个人电脑记事本都是单独的类别。对存储器和处理能力有相近需求的若干类别的设备构成设备的一个系列。移动电话、寻呼机和个人电脑记事本一起就是占用资源很小的设备的一个系列。

  Java 虚拟机层(Java Virtual Machine Layer):是Java虚拟机的一个实现,它是为特定设备的主机操作系统定制的,而且支持特定的J2ME配置(Configuration)。

  配置层(Configuration Layer):配置层定义了Java虚拟机功能上和特定类别设备上可用的Java类库的最小集。从某种程度上说,一个配置定义了Java平台功能部分和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的所有设备上都是可用的。

  框架层(Profile Layer):框架层定义了特定系列设备上可用的应用程序编程接口(API)的最小集。框架在一个特定的配置上实现。应用程序是针对特定框架编写的,因此可以移植到支持该框架的任何设备上。一个设备可以支持多个框架。用户和应用程序供应商看到最多的就是这一层。

  MIDP(Mobile Information Device Profile)层:移动信息设备框架。是Java API集合,它处理诸如用户界面、持久存储和联网等问题。

  (2)J2ME配置Configuration

  由上可知,J2ME组件都围绕一个中心,这些中心被称为“配置”(Configuration)。它们用于消费电子和嵌入设备的特别的类。目前J2ME定义2个“配置”,这2种“配置”由于其处理运算的能力不同而支持不同的设备对象。

  Connected Limited Device Configuration(CLDC,有限连接设备配置):该“配置”定义Java应用程序接口以及支持手持设备的技术。如手机、掌上电脑等。

  Connected Device Configuration(CDC,连接设备配置):该“配置”支持“插入墙”式设备的应用程序接口,如机顶盒等。

  上述两种“配置”,其区别在于它们应用于的设备的能力:

  CLDC设备的处理器能力有限(与台式机比较),且存储器大小一般只在128KB到512KB之间,而CDC系统则不同,它可能有32位或64位处理器,以及有限的存储容量,不过它的下限也超过512KB。它们共同所遵循的原则是,每个不同功能的硬件设备都将被不同的虚拟机支持。

  3.J2ME的简表Profile
  虽然,“配置”为一组通用设备提供了最小的Java平台,但是开发者感兴趣的是为个别设备设计应用程序,当他们只使用“配置”进行开发,那么所编写的应用程序肯定会有所欠缺。“配置”必须满足所有设备的最小要求,而用户界面、输入机制和数据持久性都具有高度的设备具体性,每一种设备都有自己的方法,这些往往不在“配置”所能满足的最小要求范围之内。

  现在,5个已知简表已经有了规范。而每个简表的责任都是为了完善配置的不足。

  (1)MIDP简表

  MIDP(Mobile Information Device Profile,移动信息设备简表)是第一个实现的简表,它补充了CLDC配置,并且提供应用程序语义和控件、用户界面、持久存储器、网络和用于移动电话的计时器、双通道呼叫器和其他无线电设备。

  (2)PDA简表

  Palm公司是开发PDA简表规范的领头人,该简表完善了CLDC配置,在相当长的时间内,它都将是KJava类程序包的替代品。Java规范建议该简表至少应当提供2个核心功能片段,即用户界面显示工具包,适合于“有限的尺寸和深度显示”,另一个则是持久数据存储器机制。显示工具包应该是抽象窗口工具包的一个子集,而持久机制将为应用程序、数据、配置/环境信息提供简单的数据存储。

  (3)Foundation简表

  Foundation简表的任务是担任一个基础简表,便于以后开发出来的提供图形用户接口、 网络等功能的简表附着在它之上。除了用于基础简表,Foundation简表还提供完整网络的支持,不管有没有使用图形用户接口。

  (4)Personal简表

  在当前规范的需求下, Personal简表提供下一代Personal Java环境。该简表允诺,提供互联网连接性和Web保真度以及一个能够运行Java Applets的GUI。

  (5)RMI简表

  我们知道CDC配置为共享的、固定网络连接信息设备提供最小的Java环境。该简表将通过提供Java到Java的RMI来协助提供更好的网络连接性。


参考资料:
J2ME无线通信编程入门 
http://www.vchelp.net/wyy/j2me/j2me_arc.asp

名词:
Configuration
Profile
CDC
CLDC
MDIP

posted @ 2007-01-01 15:22 jht 阅读(518) | 评论 (0)编辑 收藏
使用OSGI还是J2ME还没有定下来

        针对SmartPhone 的 OSGI framework有一个来自ProSyst的Commercial版本的实现,可以通过注册获得试用版的软件,已经注册了,但是还没有通过审批获得下载权限。所以暂时OSGI的方案搁浅,下手不是那么方便,资料也少,虽然很想搞出这个玩意。

        于是想着建个J2ME的环境试试看,发现Nokia Developer Suite 3.0 已经不是新的版本,虽然网上搜到很多文章都是介绍3.0套件的,现在Nokia推荐的是Carbide.j 1.5,明天搭环境吧准备Eclipse 3.2 + EclipseMe + Carbide.j 1.5 + Sun WTK 2.2
posted @ 2007-01-01 00:32 jht 阅读(555) | 评论 (1)编辑 收藏
     摘要: 用各种网络下载工具下文件的时候,大多数下载软件支持添加批量下载任务的功能,闲暇之余coding了一个简单的程序,实现批量下载.分了三个类RegFiles.java主要实现通配符文件地址的构造,提供了一些辅助方法,方便的添加需要下载的URLURLFileSaver.java 实现将URL指向的文件保存到本地的功能FileDownLoader.java 创建多个线程下载大家看code,欢迎提出重构意见...  阅读全文
posted @ 2006-12-31 15:58 jht 阅读(1170) | 评论 (0)编辑 收藏
仅列出标题
共5页: 上一页 1 2 3 4 5 下一页