2015-06-05 62 views
0

我有一个对话框窗口添加记录到表中。据我不想创建例如10 FXML文件中的每个表我只有一个:如何使javafx标签适合文本?

<?import javafx.geometry.*?> 
<?import javafx.scene.control.*?> 
<?import java.lang.*?> 
<?import javafx.scene.layout.*?> 

<?import com.sun.javafx.scene.control.skin.IntegerField?> 
<?import javafx.scene.layout.ColumnConstraints?> 
<GridPane alignment="BASELINE_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="300.0" prefWidth="300.0" hgap="10" vgap="10" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.{...}.gui.dialogs.AddingDialogController" fx:id="addingDialogPane"> 
    <columnConstraints> 
     <ColumnConstraints hgrow="ALWAYS" minWidth="50.0" prefWidth="100.0" /> 
     <ColumnConstraints hgrow="ALWAYS" minWidth="50.0" prefWidth="100.0" />   
    </columnConstraints> 
    <rowConstraints>   

    </rowConstraints> 
    <children> 


    </children> 
    <padding> 
     <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> 
    </padding> 
</GridPane> 

和dinamically添加取决于哪一种记录用户的要添加elemnts。 的问题是,当用户打开添加对话框,他看到以下内容: enter image description here

,这就是问题。元素覆盖对方。 如果我设置GridPane的最小宽度做大价值,我得到了另一个问题: enter image description here

左边的大空的空间。如何在没有这么大的空格的情况下正确地将元素贴合到窗格上?

UPD:这里是用来elemnts添加到窗格的方法:

public void setAgent(Agent agent) { 

     addingDialogPane.add(AgentNameLabel,1,1); 
     addingDialogPane.add(name,2,1); 
     addingDialogPane.add(loginLabel, 1,2); 
     addingDialogPane.add(login, 2, 2); 
     addingDialogPane.add(extUidLabel, 1, 3); 
     addingDialogPane.add(extUid, 2, 3); 
     addingDialogPane.add(passwordLabel, 1, 4); 
     addingDialogPane.add(password, 2, 4); 

     addingDialogPane.add(confirm, 1, 5); 
     this.agent = agent; 
     name.setText(agent.getName()); 
     login.setText(agent.getLogin()); 
     extUid.setText(agent.getExt_uid()); 
     password.setText(agent.getPassword()); 
    } 
+0

设置f.setGridLinesVisible(true);查看每个单元格的边框。您可以使用此选项将图片更新为true。 –

+0

为了达到这个目的,我会在内部使用带有Label和TextField的HBox,并将每个HBox添加到'VBox'容器。 – Tomasz

+0

你可以在代码中添加元素吗?FXML对我来说很合适。 –

回答

1

列(和行)为0分度开始所以,你的列约束适用于列0和1;您已将元素添加到第1列和第2列。因此,文本字段仅获取默认列约束,空列0设置为始终增长。添加元素到列0和1,我认为它会工作。