在选项卡选择JavaFX上调整TabPane的大小

时间:2015-09-02 21:05:52

标签: layout javafx tabs javafx-8 tabpanel

我在对话框中有一个带有多个标签的TabPane。在每个选项卡中,都有一个具有不同默认大小的窗格。我不想设置min,max或pref大小,因为我希望我的应用程序自动布局窗格,从而有效地处理不同的DPI屏幕。 问题是我想调整选项卡窗格,因此每次选择一个选项卡时都会调整对话框,而不是选项卡窗格只是最大内容窗格的大小。因此,例如,如果“标签1”的内容窗格具有默认布局,最终将其设置为300x300像素,那么在单击“标签1”时,我希望TabPane然后对话框调整为300x300。

例如

private void addTabListeners(){
    for (int i=0; i<pamTabbedPane.getTabs().size(); i++){
        final int n=i; 
        pamTabbedPane.getTabs().get(i).setOnSelectionChanged((value)->{
            System.out.println("Tab selected "+pamTabbedPane.getTabs().get(n).getText());

            /**
             * Find default size of content pane 
             */
            double defualtHWidth=pamTabbedPane.getTabs().get(n).getContent().....
            double defualtHeight=pamTabbedPane.getTabs().get(n).getContent().....
            /*******************************/

            pamTabbedPane.setPrefSize(defualtHWidth, defualtHeight);
            Stage stage = (Stage) pamTabbedPane.getScene().getWindow();
            stage.sizeToScene();
        });
    }
}

这是一个问题,我在不同的布局问题中遇到了很多问题,因此任何关于如何在不诉诸手动设置尺寸的情况下接近它的建议都将非常感激。

0 个答案:

没有答案