仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 513|回复: 13
打印 上一主题 下一主题

[学习教程] 来看Merlin的魔力: SpringLayout办理器

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:17:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
其实产生见解的过程就是训练自己发现问题,分析问题的能力。根据以上的认识我想谈下传统的学习与通过视频独立学习的优缺点:
在Java结构办理器方面,最新增添了SpringLayout办理器,它是与Java1.4一同公布的。这类结构办理器同意您将“spring”附加到组件上,如许组件就能够相对其他组件举行结构。比方,使用SpringLayout您可让一个按钮依靠于右侧框来举行显现,而不论用户将屏幕宽度设为多年夜。
入手下手利用SpringLayout
与一切结构办理器一样,SpringLayout办理器卖力布置组件的地位。组件的地位是经由过程为之供应相干联的束缚来举行把持的。关于SpringLayout把持的组件,有一个带有4个设置值的束缚--每一个设置值对应于组件的每条边。SpringLayout办理器依附一个SpringLayout.Constraints对象来供应这些组件束缚。这与GridBagConstraints类的事情道理有点相似,GridBagConstraints类增补了GridBagLayout办理器:每一个增加到容器中的组件都能够有一个依靠在其上的SpringLayout.Constraints对象。不外,二者的类似的地方仅此罢了。
在利用GridBagLayout的时分,您一般的做法是利用束缚将组件增加到容器中。在利用SpringLayout办理器的情形下,您一般不用利用束缚来增加组件。相反,您能够间接增加组件,然后再分离地为之附加束缚。除SpringLayout外,没有甚么能够制止您为组件增加束缚。Constraints不是一个复杂的类。它是Spring对象(用于每条边)的一个汇合。当您利用SpringLayout.Constraints类时,您必要分离地将每一个Spring束缚增加到SpringLayout.Constraints。您是经由过程对组件的某一条边设置特定的束缚来向SpringLayout.Constraints“增加”束缚的。经由过程利用EAST、WEST、NORTH和SOUTH这4个SpringLayout常量,您能够挪用SpringLayout.Constraints的setContraints(Stringedge,Springspring)办法,个中String范例的参数是4个常量中的一个。比方,假如您想将一个组件增加到一个容器的顶部偏左的地位,那末能够创建两个巨细流动的spring,将它们组合起来,然后将组件增加到带有如许组合而成的spring集的容器中,如清单1所示:
清单1.利用SpringLayout
Componentleft=...;
SpringLayoutlayout=newSpringLayout();
JPanelpanel=newJPanel(layout);
SpringxPad=Spring.constant(5);
SpringyPad=Spring.constant(25);
SpringLayout.Constraintsconstraint=newSpringLayout.Constraints();
constraint.setConstraint(SpringLayout.WEST,xPad);
constraint.setConstraint(SpringLayout.NORTH,yPad);
contentPane.add(left,constraint);
这看上往不是出格难,可是当您必要增加下一个组件时,不论是增加到第一个组件的右侧仍是上面,事变都要更难办一些。您不克不及复杂地在n像素外增加组件;实践上,您必须为新近的组件增加padding(补白)。为了找出前一个组件的边,您可使用getConstraint()办法哀求结构办理器,为该办法传送您所针对的边和组件,比方layout.getConstraint(SpringLayout.EAST,left),以此来取得第一个组件的准确的边的地位。从这个地位,您能够加进必须的padding,并将其附加到其他组件的边上,如清单2所示:
清单2.利用SpringLayout增加第二个组件
Componentright=...;
SpringrightSideOfLeft=layout.getConstraint(SpringLayout.EAST,left);
Springpad=Spring.constant(20);
SpringleftEdgeOfRight=Spring.sum(rightSideOfLeft,pad);
constraint=newSpringLayout.Constraints();
constraint.setConstraint(SpringLayout.WEST,leftEdgeOfRight);
constraint.setConstraint(SpringLayout.NORTH,yPad);
contentPane.add(right,constraint);
经由过程SpringLayout利用putConstraint()
这类办法十分无效,可是假如组件的数目多起来的话,这类办法就显得单调有趣了。相反,另外一种躲避两头步骤的办法是先不带束缚地间接增加组件,然后再分离地增加束缚,利用SpringLayout的putConstraint()办法将束缚毗连到组件,如清单3所示:
清单3.用SpringLayout增加第二个组件
publicvoidputConstraint(Stringe1,Componentc1,intpad,
 Stringe2,Componentc2)
publicvoidputConstraint(Stringe1,Componentc1,Springs,
 Stringe2,Componentc2)
<p>
C#跟java类似,但是在跨平台方面理论上可以跨平台,实际上应用不大,执行性能优于java,跟C++基本一致,但是启动速度还是慢.代码安全,但容易性能陷阱.
飘灵儿 该用户已被删除
沙发
发表于 2015-1-20 19:36:59 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
小女巫 该用户已被删除
板凳
发表于 2015-1-24 14:54:47 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
分手快乐 该用户已被删除
地板
发表于 2015-1-25 08:52:00 | 只看该作者
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
蒙在股里 该用户已被删除
5#
发表于 2015-2-4 07:54:20 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
老尸 该用户已被删除
6#
发表于 2015-2-5 14:15:51 | 只看该作者
是一种将安全性(Security)列为第一优先考虑的语言
飘飘悠悠 该用户已被删除
7#
发表于 2015-2-11 04:00:19 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
只想知道 该用户已被删除
8#
发表于 2015-2-13 08:30:18 | 只看该作者
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
若相依 该用户已被删除
9#
 楼主| 发表于 2015-2-17 22:53:17 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
admin 该用户已被删除
10#
发表于 2015-2-23 15:04:06 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
不帅 该用户已被删除
11#
发表于 2015-3-4 05:54:57 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
小妖女 该用户已被删除
12#
发表于 2015-3-8 09:36:06 | 只看该作者
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
变相怪杰 该用户已被删除
13#
发表于 2015-3-15 21:13:04 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
14#
发表于 2015-3-22 04:34:59 | 只看该作者
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-16 18:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表