1、
代码:Toolkit.getDefaultToolkit().setDynamicLayout(true);
功能:动态调整Components的位置和大小 as soon as Parent Container resized.

2、
代码:UIManager.put("swing.boldMetal", Boolean.FALSE);
功能:用默认的Metal Layout时,字体一般都是粗体,不咋好看,用上述代码可以改为常规字体

posted @ 2005-06-05 18:36 罗明 阅读(346) | 评论 (0) | 编辑 收藏
 

在一个Editor的Tab上单击右键,选择New Editor,可以对当前文件打开一个新的编辑器。

两个编辑器是同步的。

posted @ 2005-05-25 18:20 罗明 阅读(192) | 评论 (0) | 编辑 收藏
 

前段时间,团队开始实施一个新项目。这个项目有着中国IT行业的三个共同特点:需求繁、工期紧、资源缺。
虽然从目前情况来看,它还有希望不会沦为“死亡项目”,但如果实施过程中不小心翼翼、步步为营,结局
就很难预料了。

虽然有着诸多不利因素,但是我们团队也还有一些有利因素,也许可以主宰项目的命运:
1)开明的领导。俺们的各级领导都算通情达理,不会做那种拍脑袋下结论、赶鸭子上架的事情;
2)详尽和准确的需求调研。前期的很多准备工作不是白作的,最后出来的需求调研文档基本反映了用户的最终
需求;
3)迭代的设计评审制度。大量时间花在编码前的设计上是值得的,原因我就不多说了,凡是学过PM的都清楚;
4)陆续加入的资源。(这一点很有可能从优势变为劣势,因为谁都知道项目中途加入新人只会影响进度)

在项目的初期,作为一个普通员工,在这种情况下最应该做什么呢?我觉得最重要的一样事情是做好个人计划。
不是从项目管理出发的那种整体计划,而是针对自己的任务(功能点)出发的个人计划--WBS清单:

项目经理制订的项目计划通常都比较粗线条,并没有具体到一个个的功能点,只是给出了哪个模块由谁负责、在
哪个期限之前完成。如果你不去自己细化它,而是抱着一种做了多少是多少的态度来实施这个计划,那么可能有
两个问题出现:

1)你负责的模块对于整个项目来说是个不可见的“黑盒子”,没人知道它到底完成到什么程度、完成得怎么样、
存在什么问题。连你自己都不知道自己的进度情况,领导就更不知道了,说不定就会出现拍脑袋的事情出现;
2)万一由于资源、时间或者技术难关的原因无法按时完成任务,那你就成了整个项目进度拖延的罪魁祸首--
领导会问你:既然有问题,为什么不早提出来?为什么要等到项目工期近了才提出来?

为了避免成为罪人,就要做一个聪明的项目参与者。首先要做的是制订一份有关个人的详细的WBS(Work Breakout
Structure,工作分解结构)清单。把自己的负责的模块的功能点全部列出来,注明每一项可能需要花费的时间、前提
条件、可能存在风险等。其目的无非是使得自己的工作足够透明、使得自己的工作时刻处于可控状态。

制订完WBS清单之后,当然是把它呈现给项目经理看,通常这个时候你的台词应该是:“hello,经理,这是我的详
细计划。根据我的评估,你分派给我的任务,是无法在项目限期内完成的,请你给我多分派人手、或者裁剪一下需
求,要不,发我双薪让我拼命加班?”

如果在你有WBS为据的前提下,经理还是逼迫你去完成原来规定的任务,我想这个时候你是不是应该考虑一下项目
失败之后你的出路啦?

最后是几个需要注意的问题:
1)留余地。 制订计划一定要正常,不要把自己的一天工作时间安排到12个小时,不要把自己的周末时间全部占用,
不要忽略了陪老婆孩子、打球、生病的时间;
2)计划与需求密切配合。要知道项目的验收是看需求的,如果你的计划能够与需求上的每一个用例密切配合,相信
领导会觉得你的WBS清单更可信更科学,而且这样的计划实施起来也会很爽的;
3)在出现意外情况时(例如领导要你临时接点额外任务时),记得拿出你的WBS清单,跟领导讲价:“工期给我延
长几天吧?”? 如果不这样,你还是一样会很有可能成为一个可怜的失败的项目参与者,呵呵。

Source:做一个聪明的项目参与者--制订WBS清单

posted @ 2005-05-25 17:54 罗明 阅读(427) | 评论 (0) | 编辑 收藏
 

下载一个商业软件进行学习和研究使用时,我们一些同学会立即找他的破解方法,而且在安装后的第一时间将它破解。

其实我们很多软件都不必破解的,他的试用期已经足够我们用了。我们现在用的软件如Power Designer只是为了一时的课程学习使用,在其他时候一般是不用的,用Sql Server Manager就足够了,大实验中也就用个四五天。

还有一些我们只是做界面的时候才用,如JBuilder,别的部分可能就用Eclipse了,而JBuilder试用期好像有30天吧,即使以后真的还要用,我们再来破解也不迟啊(这样的几率还是不大的)。

这样我们兴许能够减轻一下盗版的“罪名”,而且也能促使自己多使用开源免费软件。

呵呵,随感而发,发现我应该多练一下自己的写作水平和表达能力了: )

posted @ 2005-05-15 13:49 罗明 阅读(217) | 评论 (0) | 编辑 收藏
 
这样子不好吧,可不可以改一下,baggio
posted @ 2005-05-08 10:49 罗明 阅读(367) | 评论 (0) | 编辑 收藏
 
使用System.getProperty(“https.proxyHost“)得到代理Host
System.getProperty(“https.proxyPort“)得到代理Port
posted @ 2005-05-08 10:41 罗明 阅读(2076) | 评论 (3) | 编辑 收藏
 

public void run()
{
   if(isSetToFront)
   {
       this.toFront();
   }
}

界面 (继承JWindow) extends Thread 或 implements Runnable, run之后sleep一下。
可用于Splash Window。

posted @ 2005-05-07 16:38 罗明 阅读(201) | 评论 (0) | 编辑 收藏
 
多线程中文件分块:

long single = fileBean.getLength()
// fileBean.getSplits().length;

// 设定所有子线程的起点
for (int i = 0; i < fileBean.getSplits().length; i++)
{
   fileBean.getSplits()[i][0] = (long) (i * single);
}
// i end = i+1 start
for (int i = 0; i < fileBean.getSplits().length - 1; i++)
{
   fileBean.getSplits()[i][1] = fileBean.getSplits()[i + 1][0];
}
// set end to length
fileBean.getSplits()[fileBean.getSplits().length - 1][1] = fileBean.getLength();


是否支持文件断点下载:

if (index > 0 && conn.responseCode != 206)
{
   log.debug("由于服务器不支持断点续传,子线程无法运行");
   return;
}


获取剪贴板:

Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
Transferable contents = clip.getContents(this);
try {
   String str = (String) contents.getTransferData(DataFlavor.stringFlavor);
   if (str.startsWith("http://")) {
       remote.setText(str);
    }

posted @ 2005-05-05 17:09 罗明 阅读(490) | 评论 (0) | 编辑 收藏
 

统一界面字体设置(其他UI设置也可用这种思想,有点像CSS)

setUIFont(new javax.swing.plaf.FontUIResource(null, Font.PLAIN, size));

public static void setUIFont(javax.swing.plaf.FontUIResource f)
{
    java.util.Enumeration keys = UIManager.getDefaults().keys();
   while (keys.hasMoreElements())
    {
        Object key = keys.nextElement();
        Object value = UIManager.get(key);
        if (value instanceof javax.swing.plaf.FontUIResource)
             UIManager.put(key, f);
    }
}

posted @ 2005-05-03 16:05 罗明 阅读(266) | 评论 (0) | 编辑 收藏
 
我抢注了三个:Andyluo、Xmall、Blueline(这个我不想独占哦,呵呵)
但是没赶着Andy和Luoming,ftft
posted @ 2005-05-01 16:57 罗明 阅读(172) | 评论 (0) | 编辑 收藏
 

漫漫长假,悠悠岁月

posted @ 2005-05-01 15:39 罗明 阅读(128) | 评论 (0) | 编辑 收藏
 

(WinXP)
在开始--〉运行,输入:
at 12:30 shutdown -s
即在12:30关闭计算机
。取消关机可输入:shutdown -a (还记得当年怎么对付LoveGate吗?:))

要想在Win2000中使用,可将WinXP system32下的shutdown.exe拷入

自己定制可参考:shutdown /?
用法: shutdown [-i | -l | -s | -r | -a] [-f] [-m \\computername] [-t xx] [-c "co
mment"] [-d up:xx:yy]

        没有参数                显示此消息(与 ? 相同)
        -i                      显示 GUI 界面,必须是第一个选项
        -l                      注销(不能与选项 -m 一起使用)
        -s                      关闭此计算机
        -r                      关闭并重启动此计算机
        -a                      放弃系统关机
        -m \\computername       远程计算机关机/重启动/放弃
        -t xx                   设置关闭的超时为 xx 秒
        -c "comment"            关闭注释(最大 127 个字符)
        -f                      强制运行的应用程序关闭而没有警告
        -d [u][p]:xx:yy         关闭原因代码
                                u 是用户代码
                                p 是一个计划的关闭代码
                                xx 是一个主要原因代码(小于 256 的正整数)
                                yy 是一个次要原因代码(小于 65536 的正整数)

 

posted @ 2005-04-29 16:44 罗明 阅读(329) | 评论 (0) | 编辑 收藏
 
Commercial Licenses

•         Custom license specific to the product

•         Sometimes allows free use for non-profit organizations

•         Sometimes allows free use for everyone

•         Usually prohibits reverse engineering

•         Usually prohibits redistribution

•         Rarely includes source code

•         May include all sorts of bizarre terms

GNU/General Public License (GPL)

•         You are free to do whatever you want with the source code (modify, redistribute, etc.)

•         But… any changes you make that you distribute must also be GPL

•         And… any code you distribute that uses GPL code must be available under GPL

•         Defeats “embrace and extend”

•         Often called “viral” by both friend and foe

GNU Lesser General Public License (LGPL)

•         Used to be called “Library GPL”

•         Non-LGPL code can use it without becoming LGPL (e.g. linking during compile)

•         Resulting combined executable is LGPL

•         Many people think this means that you can use LGPL Java libraries from non-LGPL code

•         Not clear whether that interpretation is correct

•         We are not your lawyers :)

BSD/Apache Licenses

•         You can freely use, modify, re-license, etc. as long as you maintain the copyright notices

•         You can include the code in a commercial product without releasing your source code

•         You can embrace and extend

•         Safest for corporate use

posted @ 2005-04-19 12:29 罗明 阅读(174) | 评论 (0) | 编辑 收藏
 
忙
这几天好忙哦,天天都有做不完的事,开始有点郁闷了。
posted @ 2005-04-18 12:38 罗明 阅读(134) | 评论 (0) | 编辑 收藏
 
92个经典开源项目集锦,囊括各个领域
posted @ 2005-04-15 16:58 罗明 阅读(142) | 评论 (0) | 编辑 收藏
 

From:WebService中返回类型一部分是数组
Suggestion:用ArrayList装数据后一定要trimToSize。
当我们调用new ArrayList()时,list默认的capacity为10,当你加入数据后,list的size为装入的对象个数,但capacity仍为10,若此时你调用list.toArray()将其转化为数组,该数组大小将为capacity,数组中后面的(capacity - size)个对象将置为null,此时最容易抛出ClassCastException(当将数组强制类型转换时)或出现莫名其妙的problem。

???我的疑问:
为什么我要调用toArray(new MyRealType[1])才能得到正确结果,而直接用toArray()也会抛出CastException,而且在调试时不能检视result的值(在toArray方法中)?

posted @ 2005-04-12 16:16 罗明 阅读(181) | 评论 (0) | 编辑 收藏
 

I was exhausted, because of the Amazon on our WebService course.

I expended nearly 2 days to solve some problems on the interoperation between Java Axis and .Net Client.

The error is always:
No serializer for cn.andy.amazon.AndyItem found in the org.apache.axis Registry.!!!

I should have been spending more time look for Resources.

I think it's due to the version confliction. I down the 1.2RC of Axis and it do nothing.

My Classmate give me a hypelink of axis when asking me solutions.
I look through the page, my god, exactly what I want.

Solution:
Axis know how to serialize javabean, but you should tell him which type is a javabean
to serialize in the server-config.wsdd.

put this in your server-config.wsdd according to your app:

<service name="SmsService" provider="java:RPC">
<parameter name="className" value="lius.axis.demo.SmsService"/>
<parameter name="allowedMethods" value="send"/>
<operation name="send" returnType="ns:Response">
<parameter name="msg" type="ns:Message"/>
</operation>

<!-- 这里定义了方法的参数以及返回值 -->

<typeMapping deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"  
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns:Message"
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"
type="java:lius.axis.demo.Message" xmlns:ns="SmsService"/>

<typeMapping
deserializer="org.apache.axis.encoding.ser.BeanDeserializerFactory"    encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
qname="ns:Response"   
serializer="org.apache.axis.encoding.ser.BeanSerializerFactory"    type="java:lius.axis.demo.Response" xmlns:ns="SmsService"/>
</service>

Everything goes well now!

Resource:
http://www-900.ibm.com/developerWorks/cn/webservices/ws-deepaxis/index.shtml

posted @ 2005-04-07 12:54 罗明 阅读(200) | 评论 (0) | 编辑 收藏
 

连接点是程序执行中明确定义的点,比如,类接受到方法调用时,方法调用时,属性访问时都是连接点的例子,在连接点处可以执行预定义的额外实现。而要指明在哪些连接点上执行,则需要定义切入点,切入点可以在程序运行时匹配特定的连接点,AspectJ中预定义了一系列标准切入点,包括方法与构造器的调用,接受调用,执行,域的get,set访问,异常处理,实例类型匹配,处于类或方法体中,控制流中,调用者调用方法,类型的初始化与静态初始化,通过这些预定义切入点的组合可以实现自定义的、复杂的切入点。在编译时,方面中的参考将被转化为标准的方法,类代码中匹配切入点的连接点将被转化为一个静态的标记点。

 静态横切是指对已存在的类型定义引入新的方法,属性等,与动态横切不同,静态横切不改变类型的动态行为,而是改变其静态结构,也即导入(Introduction)。通过在方面代码中声明方法,属性,需要继承的超类,接口等,在代码织入时,可以改变应用此方面的类的定义。

posted @ 2005-04-01 15:40 罗明 阅读(254) | 评论 (0) | 编辑 收藏
 

因为MyIE不能正常显示IE里的一个插件,我决定换换别的浏览器,从朋友处听说MyIE的下一个版本名字叫Maxthon,MyIE还有一个姐妹叫GreenBrowser。都下下来试一试。结果也都不能正常显示(连找都找不着)。第一次打开Maxthon时,它提示发现有第三方插件。于是乎我跑到安装目录下,真的有一个Plugin目录,里面是一些好用东东:去除网页中动态元素(这样看文章就舒服多了)、分析网页(可以选择下载图片和swf、查看CSS,哈哈哈,对制作网页应该挺有帮助)、解除某些网页中对鼠标的限制。。。

他们三的插件兼不兼容阿,都拷到MyIE的Plugin下,重启MyIE,呵呵,几个小按钮乖乖的躺在那里。

posted @ 2005-04-01 12:38 罗明 阅读(216) | 评论 (0) | 编辑 收藏
 
目的是在没有安装JDK的情况下制作可执行jar。

步骤:
1、在应用程序文件根目录(放置class文件的顶层目录)下新建一个META-INF目录,在该目录下新建MANIFEST.MF文件, 文件内容为(列出行号是为了提醒第2行是一个回车;Main-Class前无空格):
1 Main-Class: 包名.主类名
2 

2、将应用程序根目录下所有文件用winrar或winzip打包,格式为zip;

3、将zip文件扩展名改为jar ;

4、双击jar文件即可运行。

希望能对大家有点帮助。
posted @ 2004-08-14 04:31 罗明 阅读(2320) | 评论 (0) | 编辑 收藏
仅列出标题
共14页: First 上一页 6 7 8 9 10 11 12 13 14