本文介绍如何将手机屏幕的内容存储为Image对象,这里认为手机屏幕上显示的是一个Canvas。完成这一个功能的思想就是使用缓冲机制。
                                                                                     
     我们不能直接获得Canvas上的像素,因此不能直接从Canvas上的内容获得Image对象。转换一下思路,如果把要绘制的Canvas上的内容首先 绘制到一个Image上,而这个Image并不显示到屏幕上,只是在绘画完成后一次性的显示到屏幕上。有经验的朋友一定联想到了双缓冲机制,不过这里并不 是要使用双缓冲解决闪屏的问题,而是要得到当前Canvas的内容。

   下面我们编写一个简单的Canvas类来测试一下这个想法,SimpleCanvas是Canvas的子类,为了保存Canvas的内容,我们创建一个Image,大小与Canvas的尺寸相当。

Continue reading "使用缓存将屏幕内容存储为Image"
Posted on February 13, 2007 3:05 PM | | Comments (0) | TrackBacks (0)
/*
* 显示一个Alert的屏幕
*/
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class TextBox_Alert extends MIDlet implements CommandListener {
private Command exitCommand,alertCommand;
private TextBox tb;
public TextBox_Alert() {
exitCommand = new Command("Exit", Command.EXIT, 1);
alertCommand = new Command("Alert", Command.SCREEN, 1);
tb = new TextBox("Alert MIDlet", "Alert Example!", 15, 0);

tb.addCommand(exitCommand);
tb.addCommand(alertCommand);

tb.setCommandListener(this);

}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(tb);
}
protected void pauseApp() {
}
protected void destroyApp(boolean arg0){
}
public void commandAction(Command c, Displayable d) {

if(d == tb && c == alertCommand){

Image img;
try{
img = Image.createImage("/Icon.png");
}
catch(java.io.IOException e){
img = null;
}

Alert info = new Alert("Alert","This is a Alert Example!",img ,AlertType.INFO);
info.setTimeout(Alert.FOREVER);

//Display.getDisplay(this).setCurrent(info,tb);
Display.getDisplay(this).setCurrent(info);
}

if (c == exitCommand) {

destroyApp(false);
notifyDestroyed();
}
}
}
Posted on February 13, 2007 3:04 PM | | Comments (0) | TrackBacks (0)
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class PhotoMIDlet extends MIDlet implements CommandListener
{
String list1[]={"1","2","3"};
private Command okCommand=new Command("确定",Command.OK,1);
private Command backCommand=new Command("返回",Command.BACK,1);
private Command exitCommand=new Command("退出",Command.EXIT,1);
private List list2=new List("Photo",List.EXCLUSIVE,list1,null);
private Display display=null;
private Form form=new Form("Photo");
private Image img=null;
public PhotoMIDlet(){
list2.addCommand(okCommand);
list2.addCommand(exitCommand);
list2.addCommand(backCommand);
list2.setCommandListener(this);
form.addCommand(okCommand);
form.addCommand(exitCommand);
form.addCommand(backCommand);
form.setCommandListener(this);

}
public void startApp(){
if(display==null)
display=Display.getDisplay(this);
display.setCurrent(list2);
}
public void pauseApp(){

}
public void destroyApp(boolean unkown){

}
public void commandAction(Command cmd,Displayable dis){
if(cmd==okCommand){
int sIn=list2.getSelectedIndex();
String str=(String)list2.getString(sIn);
try{
img=Image.createImage("/"+str+".png");
}catch(Exception e){}
form.append(img);
display.setCurrent(form);
}
else if(cmd==backCommand){
form.deleteAll();
display.setCurrent(list2);
}
else if(cmd==exitCommand){
destroyApp(true);
notifyDestroyed();
}
}
}
Posted on February 13, 2007 3:00 PM | | Comments (0) | TrackBacks (0)

我的邮箱是新浪的,发邮件时需要SMTP验证,用下面的文件JavaMail.html与JavaMail.jsp发送成功!
(环境:Tomcat 5.016,需要的包是mail.jar和activation.jar,放到你的WEB应用程序的WEB-INF/lib目录下)
JavaMail.html收集信息
   <html>
<head>
  <title>JavaMail.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>

<h2>利用JavaMail来发送电子邮件 - HTML格式</h2>
<form name="SendMessage" Method="post" action="JavaMail.jsp" >
  <p>寄信人:<input type="text" name="From" size="30" maxlength="30"></p>
  <p>收信人:<input type="text" name="To" size="30" maxlength="30"></p>
  <p>主题:<input type="text" name="Subject" size="30" maxlength="30"></p>
  <p>格式:<select name="Type" size="1">
<option value="text/plain">Text</option>
<option value="text/html">HTML</option>
           </select></p>
  <p>内容:</p><p><textarea name="Message" cols=40 rows=5></textarea></p>
  
  <input type="submit" value="发送">
  <input type="reset" value="重填">

</form>
</body>
</html>

Continue reading "发送html格式的邮件"
Posted on February 13, 2007 2:58 PM | | Comments (0) | TrackBacks (0)

这是我从网上看一遍文章做的练习。自解压程序是 ZipSelfExtractor.java(请下载),作者为 Z.S. Jin。

一、自解压jar文件的优点: 自解压jar文件可以在任意支持java的平台上解开。
二、 制作自解压jar文件的过程如下:

1、修改MANIFEST.MF文件

 随便找一个jar格式的文件,如jstl.jar,先用winzip或winRAR解压,这是因为我们要修改其中的MANIFEST.MF文件。其实修改 很简单,只要在MANIFEST.MF文件中指定(或修改)这个基于java 的解压程序包含main()方法的类的名称为:

Main-Class: ZipSelfExtractor


如将jstl.jar文件中包含的MANIFEST.MF文件:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.5.2
Created-By: 1.4.1_02-b06 (Sun Microsystems Inc.)
Specification-Title: JavaServer Pages Standard Tag Library (JSTL)
Specification-Version: 1.1
Implementation-Title: JavaServer Pages Standard Tag Library API Refere
nce Implementation
Implementation-Version: 1.1.0-D13
Implementation-Vendor: Sun Microsystems, Inc.
Implementation-Vendor-Id: com.sun
Extension-Name: javax.servlet.jsp.jstl

Continue reading "如何创建自解压的jar文件"
Posted on February 13, 2007 2:55 PM | | Comments (0) | TrackBacks (0)

假设你的属性文件Proxool.properties中有数据库配置信息:
jdbc-0.proxool.alias=Access
jdbc-0.proxool.driver-class=sun.jdbc.odbc.JdbcOdbcDriver
jdbc-0.proxool.driver-url=jdbc:odbc:cwb

jdbc-0.proxool.maximum-connection-count=20
jdbc-0.proxool.prototype-count=4

jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
jdbc-0.proxool.verbose=true
jdbc-0.proxool.statistics=10s,1m,1d
jdbc-0.proxool.statistics-log-level=ERROR

Continue reading "WEB应用中读取配置文件"
Posted on February 13, 2007 2:53 PM | | Comments (0) | TrackBacks (0)

我想把一个基于数据库的WEB应用程序加上缓存,以提高性能,开源的java缓存系统不少,先拿JCS( Java Caching System)试试。

关于JCS的介绍,小红帽的文章已写得非常清楚了,附后。


先到http://jakarta.apache.org/jcs/Downloads.html
下载jcs-1.2.6.jar,找了半天也没有找到它的源码和API文档,不知为什么?
在这个站点有: Using JCS: Some basics for the web ,不错,就用它练习。

一、创建值对象
假设有一BOOK,它在数据库中的表为:
Table BOOK
  BOOK_ID_PK
  TITLE
  AUTHOR
  ISBN
  PRICE
  PUBLISH_DATE

Continue reading "给WEB应用加JCS缓存系统"
Posted on February 13, 2007 2:52 PM | | Comments (0) | TrackBacks (0)

在数据库应用程序中,数据库连接的取得是一个耗费时间的动作,为了避免花费时间在连接的取得与关闭上,我们会将连接资源放置在一个池中,需要连接时就从池中取得,不需要连接时就将之放回池中,以求重复利用连接,连接池也担任连接数量、连接时间的控制等等动作。

Proxool 是一个开放源码的连接池,在使用与设置上都十分的方便,Proxool 最新的版本是0.8.3,您可以在以下的网址下载:http://proxool.sourceforge.net/index.html


网站上的User Guide提供相当简单的入门文件,您可以直接先从这些文件开始下手,而下面这个实例提供您一个快速入门的范例,让您知道如何通过Proxool取得数据库连接,这里所使用的是MySQL数据库。

Continue reading "在应用程序中配Proxool连接池"
Posted on February 13, 2007 2:48 PM | | Comments (0) | TrackBacks (0)

NetBeans是新近才风光的IDE工具,真的不错啊! 在我的笔记本上比 eclipse快点,希望以后的版本运行越来越快。

一、下载和安装
先到这里下载NetBeans 4.1简体中文版:

http://www.techtarget.com.cn/netbeans/index3.htm

下载的文件名为:netbeans-4_1-windows-ml_ja_zh_CN.exe。

安装很简单,和一般的安装程序一样,多点几次下一步就可

完成任务,我将netbeans-4_1安装到了d:\netbeans41。

Continue reading "用NetBeans武装头脑"
Posted on February 13, 2007 2:38 PM | | Comments (0) | TrackBacks (0)

 <project basedir="." default="usage" name="myceaas">

 <target name="init">


  <property name="Name" value="myceaas" />
  <property name="name" value="myceaas" />
  <property name="version" value="0.2" />
  <property name="year" value="2006" />


  <echo message="----------- ${Name} ${version} [${year}] ------------" />


  <property name="debug" value="off" />
  <property name="optimize" value="on" />
  <property name="deprecation" value="on" />


  <!--<property name="mycedatasycn.location" value="D:/project/myce/mycedatasycn" />-->


<!--   java源文件路径 -->

  <property name="src.dir" value="${basedir}/src" />


<!--   jar包路径 -->
  <property name="lib.dir" value="${basedir}/myceaas/WEB-INF/lib" />


<!--   webapp路径 -->
  <property name="webapp.dir" value="${basedir}/myceaas" />
  <property name="packages" value="com.ce.myceaas.*" />


<!--   准备源文件路径 -->
  <property name="build.src" value="${basedir}/AntBuild/build" />


<!--   编译源文件路径 -->
  <property name="build.dest" value="${basedir}/AntBuild/bin" />


<!--   准备webapp文件路径 -->
  <property name="buildwar.dest" value="${basedir}/AntBuild/warsrc" />


<!--   准备javadoc文件路径 -->
  <property name="build.javadocs" value="${basedir}/AntBuild/doc" />


<!--   打包jar文件路径 -->
  <property name="jar.dest" value="${basedir}/AntBuild/jar" />


<!--   打包war文件路径 -->
  <property name="war.dest" value="${basedir}/AntBuild/war" />
  
  <!--   resin-home路径 -->
  <property name="resin.home" value="C:\resin-pro-3.0.17"/>


<!--   tomcat-home路径 -->
  <property name="tomcat.home" value="C:\tomcat5.5.12"/> 
  <property name="j2eelib.dir" value="C:/Program Files/MyEclipse/eclipse/plugins/com.genuitec.eclipse.j2eedt.core_3.9.210/data/libraryset/1.4" />


<!--   classpath -->
  <path id="classpath">
   
   <fileset dir="${j2eelib.dir}">
    <include name="**/*.jar"/>
   </fileset>
   <fileset dir="${lib.dir}">
    <include name="**/*.jar"/>
   </fileset>
   <!--<pathelement location="lib/"/>-->
  </path>


  <filter token="year" value="${year}" />
  <filter token="version" value="${version}" />
  <filter token="date" value="${TODAY}" />
  <filter token="log" value="true" />
  <filter token="verbose" value="true" />


 </target>


  <!-- =================================================================== -->
 <!-- Help on usage -->
 <!-- =================================================================== -->
 <target name="usage" depends="init">
  <echo message="${Name} Build file" />
  <echo message="-------------------------------------------------------------" />
  <echo message="" />
  <echo message=" available targets are:" />
  <echo message="" />
  <echo message=" jar --> generates the ${name}.jar file" />
  <echo message=" build --> compiles the source code" />
  <echo message=" javadoc --> generates the API documentation" />
  <echo message=" clean --> cleans up the directory" />
  <echo message="" />
  <echo message=" Please rename build.properties.default to build.properties" />
  <echo message=" and edit build.properties to specify JSDK 2.3 classpath." />
  <echo message="" />
  <echo message=" See the comments inside the build.xml file for more details." />
  <echo message="-------------------------------------------------------------" />
  <echo message="" />
  <echo message="" />
 </target>


 <!-- =================================================================== -->
 <!-- 准备源文件-->
 <!-- =================================================================== -->
 <target name="prepare-src" depends="init">
  <!-- create directories -->
  <mkdir dir="${build.src}" />
  <mkdir dir="${build.dest}" />
  <mkdir dir="${jar.dest}" />
  <mkdir dir="${war.dest}" />
  <mkdir dir="${buildwar.dest}" />
  
  
  <!-- copy src files -->
  <copy todir="${build.src}">
   <fileset dir="${src.dir}" />
  </copy>
  <copy todir="${buildwar.dest}">
   <fileset dir="${webapp.dir}" />
  </copy>
 
 </target>


 <!-- =================================================================== -->
 <!-- 编译源文件-->
 <!-- =================================================================== -->
 <target name="build" depends="prepare-src">
  <javac srcdir="${build.src}" destdir="${buildwar.dest}/WEB-INF/classes" debug="${debug}" optimize="${optimize}">
   <classpath refid="classpath" />
  </javac>
  <copy todir="${buildwar.dest}/WEB-INF/classes">
   <fileset dir="${build.src}" >
    <include name="**/*.xml"/>
   </fileset>
  </copy>
 </target>


 <!-- =================================================================== -->
 <!-- 打war包-->
 <!-- =================================================================== -->

 <target name="myceaas.war" depends="build">
  <war warfile="${war.dest}/myceaas.war" webxml="${buildwar.dest}/WEB-INF/web.xml">
   <lib dir="${buildwar.dest}/WEB-INF/lib"/>
   <classes dir = "${buildwar.dest}/WEB-INF/classes"/>
   <fileset dir="${buildwar.dest}">
   </fileset>
  </war>
 
 </target>


 <!-- =================================================================== -->
 <!-- 发布到本的resin和tomcat-->
 <!-- =================================================================== -->

 <target name="publish" depends="myceaas.war,clean">
  <copy todir="${resin.home}/webapps">
   <fileset dir="${war.dest}" >
    <include name="**/*.war"/>
   </fileset>
  </copy>
  <copy todir="${tomcat.home}/webapps">
   <fileset dir="${war.dest}" >
    <include name="**/*.war"/>
   </fileset>
  </copy>
  
 </target>
 <!--
 <target name="SyncMain">
         <java classname="com.ce.synchronization.main.SyncMain" failonerror="true" fork="yes">
             <classpath refid="classpath"/>
         </java>
 </target>
 -->
 <!-- =================================================================== -->
 <!-- 产生javadoc api 文档-->
 <!-- =================================================================== -->
 <target name="javadoc" depends="build">
  <mkdir dir="${build.javadocs}" />
  <javadoc packagenames="${packages}" sourcepath="${build.src}" destdir="${build.javadocs}" author="true" version="true" use="true" splitindex="true" windowtitle="${Name} API" doctitle="${Name}">
   <classpath refid="classpath" />
  </javadoc>
 </target>
 <!-- =================================================================== -->
 <!-- 清除临时文件-->
 <!-- =================================================================== -->
 <target name="clean" depends="init">
  <delete dir="${build.src}"/>
  <delete dir="${build.dest}/org"/>
  <delete dir="${build.dest}/com"/>
  <delete dir="${buildwar.dest}"/>
  <delete>
   <fileset dir="${build.dest}" includes="**/*.class"/>
  </delete>
 </target>


</project>

Posted on February 12, 2007 6:48 PM | | Comments (0) | TrackBacks (0)
上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 下一页
相关内容
广告计划
最新评论
[评论] 鸿雁 : 默默地为他们祈祷吧
[评论] lym328 : 客源CRM非常不错-----如有需要可以了解
[评论] kevinwu : 作用肯定是有的,Google会首先搜索站
[评论] ss : 其实还真的感觉不到sitemap的作用~
[评论] kevinwu : 谢谢你的关注 :-)
[评论] h51h : 贵博客写得非常的好,界面简洁但内
[评论] snguo : 这里很好 来这里支持下呢?
[评论] redondo : 感谢你分享知识! 这篇文章我转载到
[评论] kevinwu : 就是这本;看来我买的贵了点 - 8折;我
[评论] 安妮 : 《Flex3.0 RIA开发详解:基于ActionScript3.0