JavaFX学习曲线日记-2:声明用户接口 - 编程入门网
oupLayout.PREFERRED_SIZE))
.addPreferredGap (javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(scrollImageList, javax.swing.GroupLayout.PREFERRED_SIZE, 235,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap (javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup (javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblSelectedImage)
.addComponent(progressSelectedImage, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap (javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(lblImage, javax.swing.GroupLayout.DEFAULT_SIZE, 305, Short.MAX_VALUE)
.addContainerGap())
);
pack();
}
使用NetBeans IDE进行UI布局非常简单——只需要鼠标的拖、拽操作便可。在本示例中 ,NetBeans通过使用javax.swing.GroupLayout生成了UI代码,javax.swing.GroupLayout这 个类为我们提供了跨平台的正确大小、位置、组件之间的间隔。虽然生成的代码并不便于阅 读,但从工具支持性来讲它确实是非常优秀的,而且无需任何人工编写代码。 JavaFX学习曲线日记-2:声明用户接口(3)时间:2011-05-07 译者:cleverpig声明JavaFX脚本接口 尽管JavaFX脚本并没有提供GUI工具,NetBeans也没有提供支持JavaFX脚本语言的UI设计 界面,但我们可以使用JavaFXPad这个OpenJFX站点提供的演示应用。通过使用JFXPad,你能 够人工输入UI代码,并马上见到代码所呈现的效果。尽管它是一个演示应用,但的确是一个 超级好用的简单工具。 本接口所需的所有GUI组件都在javafx.ui包中。JavaFX脚本和Java语言一样支持包 (package)结构和导入(import)语句。我在学习过程中并不是导入整个包,而是每次导 入要用到的组件类。这样可以让我们在查看代码时能够准确地识别出使用了哪些组件。 JavaFX脚本组件具有height、width、text、content等属性。其中content属性可以包含 子组件,每个content属性可以包含被声明为数组的多个组件。在声明图片检索应用的用户 接口时,我选用并使用了适合的JavaFX脚本组件,并设置了它们的属性。 例如,下面简短的脚本定义了一个不含有任何内容的空白框架。
在JavaFX脚本中与Swing的Jframe等价的是javafx.ui.Frame。这里的title属性声明了 window的标题。Height和width属性则以像素为单元定义了整个框架的大小。最后,visible 属性声明了框架是否可见,这与在Swing中的Jframe类的setVisible方法类似。 FlowPanels 和 Boxes javafx.ui包中包含了Label、SimpleLabel、Box、FlowPanel、ProgressBar、 ScrollPane和ListBox这些组件。它们的名称听起来与Swing组件非常相似,因此我首先尝试 使用它们来实现目标UI。 尽管JavaFX脚本支持GroupLayout和GroupPanel组件,但我还是尽量在首次尝试时避开这 些组件。我并不认为GroupLayout有多好,因为在Java语言中使用它时你不得不人工编写代 码,从这一点出发我对在JavaFX脚本中使用GroupLayout存在着同样的顾虑。于是我选择了 更加简单的FlowPanel和Box组件来创建下面的JavaFXImageSearchUI1.fx代码:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |