相关疑难解决方法(0)

tableview中的javafx列自动调整大小

据我所知的的TableView JavaFX中有2列调整政策:CONSTRAINED_RESIZE_POLICY和UNCONSTRAINED_RESIZE_POLICY,但我想列调整大小以适应他们的单元格的内容,我认为它在其他平台(如C#中的DataGridView)一个简单的问题,但解决不了

javafx javafx-2

33
推荐指数
4
解决办法
4万
查看次数

如何通过调整组件大小来绑定舞台大小调整?

我有一个带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)

所以有两个问题:

  • 要进行一些绑定,我必须在控制器类中获得我的舞台.那么 - 我怎样才能在控制器类中获得一个阶段?
  • 它看起来像UI控件没有任何width\height属性,绑定到某些东西.或许我还没找到它们.

那么,我该如何解决我的问题呢?

UPD.关于Scene Builder到Sergey Grinev:当我在我的组件上使用 Ctrl + K(告诉它占据其父组件的整个区域)时 - 一切正常.

但是如果我想告诉我的组件占据50%的面积呢?例如,我有一个带有两个VBox的标签.标签的宽度为100px.Vbox的宽度分别为50px.VBox1的x1 = 0,x2 = 50,VBox2的x1 …

javafx javafx-2 fxml

16
推荐指数
2
解决办法
6万
查看次数

JavaFx 2使用单列创建TableView

我正在尝试使用以下代码创建一个包含单个列的表:

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的新手,所以可能有更好的方法.

java layout tableview javafx-2

7
推荐指数
1
解决办法
7019
查看次数

JavaFX:禁用TableView的水平滚动条

我有以下问题:我想禁用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)

来源: 如何在JavaFXhttps://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 scrollbar tableview javafx-8

6
推荐指数
1
解决办法
1万
查看次数

修复javafx TableView中的列数

我在javafx中动态生成的tableView中有4列.但是在UI中,我得到了一个没有文本集的附加列.我想移动它,只保留四列.我怎样才能做到这一点?该表也没有响应.我已将其设置为在所有方面增长,但只有额外的列增长.所有其他列都达到了最初在Scene Builder中给出的宽度.我希望桌子能够快速响应.我怎样才能做到这一点?

javafx tableview

3
推荐指数
1
解决办法
3046
查看次数

标签 统计

javafx ×4

javafx-2 ×3

tableview ×3

fxml ×1

java ×1

javafx-8 ×1

layout ×1

scrollbar ×1