私のアプリケーションは、AnchorPane 内の Horizontal Flow SplitPane です。SplitPane の右側では、ボタンを左クリックしてウィンドウをプロットできます。
親コンテナーの prefSize に合わせてこれらのウィンドウを水平または垂直に配置することもでき、すべて正常に動作します。
私の問題は、GUI のサイズを変更するときにウィンドウのサイズを自動変更する方法です。これは、右端のペインをクリックしてドラッグすると、この効果が得られるためです。
それで、私の質問は次のとおりです。GUIを狭めたり広げたりするときに、ウィンドウをバインドして自動サイズ変更する方法は?
皆さんありがとう
編集:ウィンドウを垂直に配置する方法は次のとおりです
@FXML
private void windowsArrangeVertically(ActionEvent event) {
// tutto il contenuto del tab, compreso il gruppo
Group gp = (Group) tabpaneWorkspace.getSelectionModel().getSelectedItem().getContent();
int itemsInTab = gp.getChildren().size();// dimensione del contenuto del tab, gruppo compreso
int totWindows = 0;
Window winItem;
// voglio sapere quante sono le window presente nel tab, escludendo il gruppo
for(int i=0; i<itemsInTab; i++){
if(gp.getChildren().get(i) instanceof Window){
totWindows++;
}
}
// mi serve per riposizionare le finestre sulle x
double x = 0;
for(int i=0; i<itemsInTab; i++){
// se il contenuto del tab è un istanza di window
if(gp.getChildren().get(i) instanceof Window){
// allora scorri tutto il contenuto uno per uno
winItem = (Window)gp.getChildren().get(i);
// determina la larghezza della finestra in base al num di windows presenti
double tabWidth = tabpaneWorkspace.getWidth()/totWindows;
// e assegna la larghezza
winItem.setPrefSize(tabWidth , tabpaneWorkspace.getHeight()-31);
winItem.setLayoutX(x);
winItem.setLayoutY(0);
x += tabWidth;
}
};
}