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 罗明 阅读(305) | 评论 (0)编辑 收藏
 

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

两个编辑器是同步的。

posted @ 2005-05-25 18:20 罗明 阅读(162) | 评论 (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 罗明 阅读(390) | 评论 (0)编辑 收藏
 

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

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

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

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

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

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

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

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

posted @ 2005-05-07 16:38 罗明 阅读(160) | 评论 (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 罗明 阅读(383) | 评论 (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 罗明 阅读(199) | 评论 (0)编辑 收藏
 
我抢注了三个:Andyluo、Xmall、Blueline(这个我不想独占哦,呵呵)
但是没赶着Andy和Luoming,ftft
posted @ 2005-05-01 16:57 罗明 阅读(136) | 评论 (0)编辑 收藏
 

漫漫长假,悠悠岁月

posted @ 2005-05-01 15:39 罗明 阅读(100) | 评论 (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 罗明 阅读(290) | 评论 (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 罗明 阅读(141) | 评论 (0)编辑 收藏
 
这几天好忙哦,天天都有做不完的事,开始有点郁闷了。
posted @ 2005-04-18 12:38 罗明 阅读(95) | 评论 (0)编辑 收藏
 
92个经典开源项目集锦,囊括各个领域
posted @ 2005-04-15 16:58 罗明 阅读(114) | 评论 (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 罗明 阅读(142) | 评论 (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 罗明 阅读(175) | 评论 (0)编辑 收藏
 

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

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

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

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

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

posted @ 2005-04-01 12:38 罗明 阅读(181) | 评论 (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 罗明 阅读(2223) | 评论 (0)编辑 收藏
仅列出标题
共14页: First 上一页 6 7 8 9 10 11 12 13 14