据我所知的的TableView JavaFX中有2列调整政策:CONSTRAINED_RESIZE_POLICY和UNCONSTRAINED_RESIZE_POLICY,但我想列调整大小以适应他们的单元格的内容,我认为它在其他平台(如C#中的DataGridView)一个简单的问题,但解决不了
我有一个带FXML的JavaFX 2.0应用程序.我希望在调整带有应用程序的窗口时调整组件(TextFields,ComboBoxes,layouts等)的大小.所以...
使用JavaFX构建GUI应用程序时,您会注意到API中的某些类已经实现了属性.例如,
javafx.scene.shape.Rectangle
类包含的属性arcHeight
,arcWidth
,height
,width
,x
,和y
.对于这些属性中的每一个,将存在与先前描述的约定匹配的对应方法.例如getArcHeight()
,setArcHeight(double)
,arcHeightProperty()
,它们共同表明(对开发人员和工具)给定的属性存在.*
要将监听器添加到舞台,我必须执行以下操作:
stage.resizableProperty().addListener(new ChangeListener<Boolean>(){
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2){
throw new UnsupportedOperationException("Not supported yet.");
}
});
Run Code Online (Sandbox Code Playgroud)所以有两个问题:
那么,我该如何解决我的问题呢?
UPD.关于Scene Builder到Sergey Grinev:当我在我的组件上使用 Ctrl + K(告诉它占据其父组件的整个区域)时 - 一切正常.
但是如果我想告诉我的组件占据50%的面积呢?例如,我有一个带有两个VBox的标签.标签的宽度为100px.Vbox的宽度分别为50px.VBox1的x1 = 0,x2 = 50,VBox2的x1 …
我正在尝试使用以下代码创建一个包含单个列的表:
TableView<String> table = new TableView<String>();
table.getColumns().clear();
table.getColumns().add(new TableColumn<String, String>("City Name"));
table.setItems(cityList);
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个表格,其中包含"城市名称"列,后面是空白列
我是JavaFx的新手,所以可能有更好的方法.
我有以下问题:我想禁用TableView的水平滚动条.它可能不可见,但TableView也可能无法水平滚动.可以在CSS中设置水平滚动条的可见性:
.table-view *.scroll-bar:horizontal *.increment-button,
.table-view *.scroll-bar:horizontal *.decrement-button {
-fx-background-color: null;
-fx-background-radius: 0;
-fx-background-insets: 0;
-fx-padding: 0;
}
.table-view *.scroll-bar:horizontal *.increment-arrow,
.table-view *.scroll-bar:horizontal *.decrement-arrow {
-fx-background-color: null;
-fx-background-radius: 0;
-fx-background-insets: 0;
-fx-padding: 0;
-fx-shape: null;
}
Run Code Online (Sandbox Code Playgroud)
来源: 如何在JavaFX和https://community.oracle.com/thread/2377826?tstart=0中隐藏ListView的水平滚动条.
这工作正常,但我仍然可以水平滚动TableView(虽然滚动条不可见).我已将列宽设置如下:
col1.setPrefWidth(table.getPrefWidth()*0.40);
col2.setPrefWidth(table.getPrefWidth()*0.20);
col3.setPrefWidth(table.getPrefWidth()*0.20);
Run Code Online (Sandbox Code Playgroud)
这在TableView不显示任何行时有效.但是当我填充它(通过按下按钮)时,列会稍微拉伸,这使得TableView可以水平滚动.
是否只能隐藏滚动条,还是可以禁用滚动本身?
任何帮助是极大的赞赏!
我在javafx中动态生成的tableView中有4列.但是在UI中,我得到了一个没有文本集的附加列.我想移动它,只保留四列.我怎样才能做到这一点?该表也没有响应.我已将其设置为在所有方面增长,但只有额外的列增长.所有其他列都达到了最初在Scene Builder中给出的宽度.我希望桌子能够快速响应.我怎样才能做到这一点?