import java.awt.Dimension;
import java.awt.Graphics2D;
import java.io.FileInputStream;
import javax.swing.JFrame;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;
import com.hg.jpd.Jpd;
import com.hg.jpd.JpdFrame;
import com.hg.jpd.JpdViewer;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
try {
SlideShow slideShow = new SlideShow(new FileInputStream("c:/test.ppt"));
Dimension d = slideShow.getPageSize();
Jpd jpd = new Jpd((int) d.getWidth(), (int) d.getHeight());
Slide[] slides = slideShow.getSlides();
for (int i = 0; i < slides.length; i++) {
TextRun[] truns = slides[i].getTextRuns();
for (int k = 0; k < truns.length; k+ ......
原创】Java Builder 初体验
2006-10-19 11:43 junziyang
【原创】Java Builder 初体验
MATLAB的最新版本2006b中新添了一个产品-MATLAB Builder for Java。其实本来Matlab就有Java外部程序接口,不过原来的接口只能在.m文件中调用Java,而无法在Java程序中调用Matlab。新的Java Builder为我们在Java程序中调用Matlab丰富的数值计算资源提供了极大的便利。
与MATLAB对其他程序的外部接口相比,我觉得Java接口在一下几个方面比较有特色:
(1)在.m文件中可以直接调用Java资源。例如可以调用JDK中的界面元素构建用户界面。
(2)可以利用Java在网络功能方面的优势,开发基于Web的应用程序。
由于Java Builder是个新产品,我也是相应 bainhome版主的号召,现炒现卖:),旨在抛砖引玉,引发有兴趣的网友的共同讨论。错误之处敬请批评指正。
2006-10-19 11:45 junziyang
什么是MATLAB Builder for Java?
MATL ......
一. Incident
import java.util.ArrayList;
import java.util.List;
public class Test {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
String[] tt =(String[]) list.toArray(new String[0]);
}
}
这段代码是没问题的,但我们看到String[] tt =(String[]) list.toArray(new String[0]) 中的参数很奇怪,然而去掉这个参数new String[0]却在运行时报错。。。
二. &nb ......
对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
问题一:我声明了什么!
String s = "Hello world!";
许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。
这个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hello world!"这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的引用变量。所以,如果在刚才那句语句后面,如果再运行一句:
String string = s;
我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。
问题二:"=="和equals方法究竟有什么区别?
==操作符专门用来比较变量的值是否相等。比较好理解的一点是:
int a=10;
int b=10;
则a==b将 ......
今天为了安装MySQl,搞了5个多钟,中午饭都没吃,先是start service 不通过,再是Apply security settings 不通过(报了个1045的Error),后来终于TMD的搞到它通过了,解决办法如下:
《第一种成功,第二和第三种没试》,第二和第三是别人提供的。
方法一:
1, 卸载MySQL
2, 删除目录 C:\Documents and Settings\用户名\Application Data\MySQL
3, 重新安装MySQL 就 OK 啦
方法二:
卸载重装,不设root密码,因为MySql默认密码为空。
方法三:
保持现在的密码,打开“MySQL Command Line Client”输入你的密码(安装时设的那个,如果密码不对可以试下空密码登录,有可能安装时密码设置无效)。
当登录成功后输入命令:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mysql'); 'mysql'为你想要设置的新密码。修改密码成功后再配置Mysql就OK了。
附:Mysql关闭出错蜂鸣的办法,打开MySql安装目录下的 my.ini 文件,在[mysql]行下添加这个语句'no-beep', 保存,重启Mysql服务就OK了。 ......
一. 建表与初始化数据
在mysql的test数据库中建立一张新表:tbl_user,建表语句如下:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `tbl_user` (
`userid` varchar(50) NOT NULL,
`name` varchar(50) default '',
`blog` varchar(50) default '',
PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
建表成功后,在该表中任意插入几条数据。
二. 建立存储过程
为测试hibernate3.x中存储过程的调用,我们在user表中建立getUserList、createUser、updateUser和deleteUser这四个存储过程,在mysql中建立存储过程的语句如下:
1. 获得用户信息列表的存储过程--getUserList
DROP PROCEDURE IF EXISTS `getUserList`;
CREATE PROCEDURE `getUserList`()
begin
select * from tbl_user;
end;
2. 通过传入的参数创建用户的存储过程--createUser
DROP PROCEDURE IF EXISTS `createUser`;
CREATE PROCEDURE `createUser`(IN userid varchar(50), IN name varchar(50), IN blog varchar(50))
begin
insert i ......