文档章节

javaFX备忘录

fir01
 fir01
发布于 2015/04/15 13:08
字数 502
阅读 266
收藏 6

一直用的是flex,目前flex转apache好像支持力度不够,看下javaFX,企业组件也完善了,决定尝试一下。遇到一个问题,记录一下,备忘:

1、自适应布局几乎是标准布局。javaFX中有点奇特;

1)它没有width=100%,height=100%属性。

2)UI layout组件有些是默认自适应的,就是自动按父组件的高宽设置了100%的高和宽,有些又不是。

3)对于没有自动100%的组件,如VBox,HBox的子组件,如果你把TableView组件包在VBox下,发现它不会在纵轴方向自动100%宽度,而高度会自动100%。需要在组件设置类似属性:GridPane.hgrow="ALWAYS" VBox.vgrow="ALWAYS",很怪诞。而且这个属性是依赖父组件而存在的。如果父组件有GridPane,就设置GridPane.hgrow="ALWAYS",有VBox就设置VBox.vgrow="ALWAYS"。

贴个完整正确的自适应布局代码:

<?xml version="1.0" encoding="UTF-8"?>
<BorderPane prefHeight="404.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <top>
      <MenuBar BorderPane.alignment="CENTER">
        <menus>
          <Menu mnemonicParsing="false" text="File">
            <items>
              <MenuItem mnemonicParsing="false" text="Close" />
            </items>
          </Menu>
          <Menu mnemonicParsing="false" text="Edit">
            <items>
              <MenuItem mnemonicParsing="false" text="Delete" />
            </items>
          </Menu>
          <Menu mnemonicParsing="false" text="Help">
            <items>
              <MenuItem mnemonicParsing="false" text="About" />
            </items>
          </Menu>
        </menus>
         <contextMenu>
            <ContextMenu>
              <items>
                <MenuItem mnemonicParsing="false" text="Unspecified Action" />
              </items>
            </ContextMenu>
         </contextMenu>
      </MenuBar>
   </top>
   <bottom>
      <HBox alignment="BOTTOM_LEFT" BorderPane.alignment="CENTER">
         <children>
            <Button mnemonicParsing="false" text="Button" />
            <Button mnemonicParsing="false" text="Button" />
         </children>
      </HBox>
   </bottom>
   <center>
      <SplitPane dividerPositions="0.5" orientation="VERTICAL">
         <items>
            <VBox GridPane.hgrow="ALWAYS" GridPane.vgrow="ALWAYS">
               <children>
                  <HBox maxHeight="-Infinity" prefWidth="598.0" GridPane.valignment="TOP" VBox.vgrow="ALWAYS">
                     <children>
                        <Label alignment="CENTER_RIGHT" layoutX="59.0" layoutY="4.0" prefHeight="25.0" prefWidth="99.0" text="Date" />
                        <TextField>
                           <HBox.margin>
                              <Insets left="10.0" />
                           </HBox.margin>
                        </TextField>
                        <Button alignment="BASELINE_LEFT" mnemonicParsing="false" text="search">
                           <HBox.margin>
                              <Insets left="10.0" />
                           </HBox.margin>
                        </Button>
                     </children>
                     <GridPane.margin>
                        <Insets top="10.0" />
                     </GridPane.margin>
                     <VBox.margin>
                        <Insets />
                     </VBox.margin>
                     <padding>
                        <Insets bottom="5.0" top="5.0" />
                     </padding>
                  </HBox>
                  <TableView prefWidth="200.0" GridPane.hgrow="ALWAYS" VBox.vgrow="ALWAYS">
                    <columns>
                      <TableColumn prefWidth="75.0" text="C1" />
                      <TableColumn prefWidth="75.0" text="C2" />
                    </columns>
                     <GridPane.margin>
                        <Insets top="40.0" />
                     </GridPane.margin>
                  </TableView>
               </children>
            </VBox>
            <TableView prefHeight="200.0" prefWidth="200.0">
              <columns>
                <TableColumn prefWidth="75.0" text="C1" />
                <TableColumn prefWidth="75.0" text="C2" />
              </columns>
            </TableView>
         </items>
      </SplitPane>
   </center>
</BorderPane>


© 著作权归作者所有

共有 人打赏支持
fir01
粉丝 19
博文 110
码字总数 34117
作品 0
长沙
项目经理
Java 8新特性探究(十三)JavaFX 8新特性以及开发2048游戏

JavaFX主要致力于富客户端开发,以弥补swing的缺陷,主要提供图形库与media库,支持audio,video,graphics,animation,3D等,同时采用现代化的css方式支持界面设计。同时又采用XUI方式以XML方式...

OSC闲人
2014/10/19
0
28
JavaFX 架构与框架 (译)

原文地址:http://download.oracle.com/javafx/2.0/architecture/jfxpub-architecture.htm JavaFX 2.0平台是基于Java技术的富客户端平台。它使应用程序开发者更加容易的开发和部署跨平台的富...

Jeky
2011/10/09
0
26
javafx官方文档学习之一Application与Stage,Scene初探

我的博文小站:http://www.xby1993.net,所有文章均为同步发布。 转载请注明作者,出处。 自jdk7u6之后javafx已经嵌入在jre之中 2 javafx UI设计工具JavaFX Scene Builder. Oracle支持的javaf...

xby1993
2013/12/08
0
0
(翻译)JavaFX高级教程:部署JavaFX2.0应用

原文地址http://download.oracle.com/javafx/2.0/deployment/jfxpub-deployment.htm (译者:由于国内学习JavaFX2.0的童鞋可能极少,加之后面的技术相对高级和复杂,另外本人时间略显不足,后...

davelet
2011/10/30
0
0
亲身体验Sun JavaFX开发组件预览版

作者:IT168 东方蜘蛛译 【IT168 分析评论】最近Sun公司推出了它的JavaFX框架的第一个公测 版,使用它可以利用JavaFX编程语言来开发富互联网应用程序(RIA)。这个新开发组件有许多令人惊喜的地...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

49.Nginx防盗链 访问控制 解析php相关 代理服务器

12.13 Nginx防盗链 12.14 Nginx访问控制 12.15 Nginx解析php相关配置(502的问题) 12.16 Nginx代理 扩展 502问题汇总 http://ask.apelearn.com/question/9109 location优先级 http://blog....

王鑫linux
今天
1
0
Nginx防盗链、访问控制、解析php相关配置、Nginx代理

一、Nginx防盗链 1. 编辑虚拟主机配置文件 vim /usr/local/nginx/conf/vhost/test.com.conf 2. 在配置文件中添加如下的内容 { expires 7d; valid_referers none blocked server_names *.tes......

芬野de博客
今天
0
0
spring EL 和资源调用

资源调用 import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.PropertySource;import org.springframework.core.io.Resource;......

Canaan_
今天
1
0
memcached命令行、memcached数据导出和导入

一、memcached命令行 yum装telnet yum install telent 进入memcached telnet 127.0.0.1 11211 命令最后的2表示,两位字节,30表示过期时间(秒) 查看key1 get key1 删除:ctrl+删除键 二、m...

Zhouliang6
今天
1
0
Linux定时备份MySQL数据库

做项目有时候要备份数据库,手动备份太麻烦,所以找了一下定时备份数据库的方法 Linux里有一个 crontab 命令被用来提交和管理用户的需要周期性执行的任务,就像Windows里的定时任务一样,用这...

月夜中徘徊
今天
1
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部