文档章节

javaFX备忘录

fir01
 fir01
发布于 2015/04/15 13:08
字数 502
阅读 642
收藏 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
长沙
项目经理
私信 提问
加载中

评论(0)

認識JavaFX

作者:蔡學鏞 注意:本文章內容是依據alpha版技術做描述,讀者閱讀時可能已經和實際現況有所差異。 雖 然Ajax方興未艾,但RIA(Rich Internet/Interface Application)也已經揭開序幕,同樣是...

红薯
2009/02/12
954
2
JavaFX - 富互联网应用

JavaFX教程™ --必看 https://www.yiibai.com/javafx /================= 富互联网应用 是那些提供与Web应用程序类似的功能,并可作为桌面应用程序体验的应用。与用户的正常网络应用程序相比...

海蓝steven
2018/11/21
0
0
JavaFX - 富互联网应用

JavaFX教程™ --必看 https://www.yiibai.com/javafx /================= 富互联网应用 是那些提供与Web应用程序类似的功能,并可作为桌面应用程序体验的应用。与用户的正常网络应用程序相比...

osc_xign2agv
2018/11/21
10
0
使用JavaFX构建部署安卓应用

Java平台最初的目标是为嵌入式设备提供一个软件环境。然而,历史的怪圈却让Java成为了企业软件开发的首选语言。过去,Java的客户端应用所受到的关注比利润丰厚的服务器端市场要少得多。不过,...

osc_2snvc4af
2019/09/30
23
0
JavaFX 11 在IDEA中运行需要的设置

因为从Java8/openjdk之后,javafx从jdk中移除,如果进行JavaFX开发需要在module中添加lib,并对IDE进行配置,确保jdk可以与javafx正常调用。 javafx下载路径,主页网址: 下载时根据个人的系...

qwz185_堡垒
2019/11/03
236
0

没有更多内容

加载失败,请刷新页面

加载更多

录制电脑视频方法是什么?简单几步轻松录屏

录制电脑视频方法是什么?小编在两个月时间里,通过一个网课网站学习了十多天的PS线上直播课程,这些课程是老师们通过录屏软件在电脑上录制而成的。不知大家在日常中会不会也需要使用屏幕录像...

dawda
28分钟前
19
0
Exchange Server在前端服务器上生成了很多用户的配置文件

问题现象 在Exchange 2010前端服务器C盘的users目录下生成了很多用户的配置文件,这些用户并没有直接登录exchange服务器。 问题原因 如果用户登录到OWA并更改其密码,则将在CAS服务器上创建用...

osc_9fz4iln8
28分钟前
24
0
firefox无法同步书签,恢复备份文件失败的解决办法

前两天笔记本重装系统,装完系统后装Firefox浏览器,装完浏览器后登陆账号,登陆正常,尝试同步书签,没反应:( 还好,另外还有台台式机。firefox登陆正常,导出bookmarks.html,发送到笔记本...

osc_gwtkg2dc
29分钟前
15
0
PowerShell ForEach-Object循环示例

示例一 Get-ChildItem | ForEach-Object { "File length:"+$_.Length}<#File length:63File length:381File length:258File length:643File length:329File length:942File length:3......

osc_8rbrmk98
30分钟前
18
0
在CMD命令行中运行py文件

在CMD命令行中运行py文件 1、 在windows10下的CMD命令行中运行python文件,需要先设置环境变量 我的电脑-属性-高级系统设置-高级-环境变量-系统变量 选择path 点击编辑 2、点击新建,输入p...

osc_cpolwgcv
32分钟前
19
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部