|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。
我们都晓得,java的GUI界面界说是由awt类和swing类来完成的。它在结构管理下面接纳了容器和结构办理分别的计划。也就是说,容器尽管将其他小件放进个中,而不论这些小件是怎样安排的。关于结构的办理交给专门的结构办理器类(LayoutManager)来完成。
实在,java在GUI方面应当是其实不乐成的。Awt类和swing类的布局十分庞大,加上充溢其间的子类承继和接话柄现,使得要想把握这两个类十分坚苦。这也是良多的java程序员埋怨的事变,但GUI已成了程序开展的偏向,以是这里我们也得勉为其难了。
如今我们来看java中结构办理器的详细完成。我们后面说过,java中的容器类(Container),它们尽管到场小件(Meta),也就是说,它只利用本人的add()办法向本人外部到场小件。同时他纪录这些到场其外部的小件的个数,可以经由过程container.getComponentCount()办法类取得小件的数量,经由过程container.getComponent(i)来取得响应小件的句柄。然后LayoutManager类便可以经由过程这些信息来实践结构个中的小件了。
java已为我们供应了几个经常使用的结构办理器类,比方:BorderLayout、FlowLayout、GridBagLayout等等。但在实践的结构上,我们仍是会有其他的需要。我在不久前的一个成绩中已经要一个垂直的流式结构,我称之为VflowLayout,实在BoxLayout和GridBagLayout能够完成相似的事情,但前者是swing类的成员,我的客户端是一个applet,不克不及利用,尔后者必需在类天生的时分指定列数,而得到了天真性,以是我决意重写一个本人的结构办理器来完成。经由剖析,一切的LayoutManager都要完成一个接口,就是LayoutManagerInerface大概是他的一个子接口LayoutManager2Interface,后者用于庞大的布局办理,比方GridCardLayout。LayoutManager有五个办法必要完成,分离是:
1、publicvoidaddLayoutComponent(Stringname,Componentcomp);
2、publicvoidremoveLayoutComponent(Componentcomp);
3、publicDimensionpreferredLayoutSize(Containercontainer);
4、publicDimensionminimumLayoutSize(Containercontainer);
5、publicvoidlayoutContainer(Containercontainer);
<p>
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试) |
|