|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
J2ME在手机游戏开发的作用也是无用质疑的。至于桌面程序,可能有人说java不行,界面不好看,但是请看看NetBeans和Eclipse吧,他们都是利用java开发的,而他们的界面是多么的华丽,所以界面决不是java的缺点。还有一个不得不提的优点就是大多java人员都挂在嘴边的java的跨平台性,目前这确实也是java优点之一。js|对象|心得基于jsf-component的portlet的构建一般必要懂得一下几点
1.一切的jsf-component都是单一实例的,也就是说在每个session周期内,一个UI组件只存在一个实例
2关于UI组件中的变量,关于不属于UI组件的对象(FTPClient),在UI对象构建早期经由过程机关函数传送,以后,不管这些对象在其他中央产生任何变更,UI中援用的仍旧是该对象的实例。关于UI组件本人的对象(UIStringInput),假如用setXX办法对其赋值了,UI对象在encode的时分,援用的也是该对象确当前值。
publicclassUIFileFormextendsUISimpleForm{
staticfinalpublicStringSAVE_ACTION="save";
staticfinalpublicStringCANCEL_ACTION="cancel";
privateFTPFileftpFile_;
privateFTPClientftpClient_;
privateUIStringInputnameInput_;
privateStringfileName_;
publicUIFileForm(FTPClientftp,ResourceBundleres)throwsException{
super("fileForm","post",null);
setId("UIFileForm");
setClazz("UIFileForm");
ftpClient_=ftp;//援用内部对象
intidx=ftpFile_.getName().lastIndexOf("/");
StringfileName=ftpFile_.getName().substring(idx++);
nameInput_=newUIStringInput("name",fileName);
add(
newHeaderRow().add(
newCell(res.getString("header.edit-file")).addColspan("2")));
add(
newRow().add(newLabelCell(res.getString("label.file-name"))).add(
newComponentCell(this,nameInput_)));//只管这里是在机关函数内里,可是nameInput是对象,一切即便它的值变更了,encode的时分仍旧失掉的是变更后的值
add(
newRow().add(
newListComponentCell()
.add(
newFormButton(
res.getString("button.save"),
SAVE_ACTION))
.add(
newFormButton(
res.getString("button.cancel"),
CANCEL_ACTION))
.addColspan("2")
.addAlign("center")));
addActionListener(SaveActionListener.class,SAVE_ACTION);
addActionListener(CancelActionListener.class,CANCEL_ACTION);
}
publicvoidsetFileName(Strings){
fileName_=s;
intidx=ftpFile_.getName().lastIndexOf("/");
StringfileName=ftpFile_.getName().substring(idx++);
nameInput_.setText(fileName);//这里是从头改动值的中央
}
还得说上一点,就java本质而言,是面相对象的,但是你有没有发现,java也不全是,比如说基本类型,int,那他就是整型而不是对象,转换类型是还得借助包装类。 |
|