0
我想使用2列製作一個特定佈局的窗口,但我不能完全按照我想要的方式使它工作。JavaFX GridPane列大小調整
首先,一些簡單的示例代碼:
import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Spinner;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class GridTest extends Application {
@Override
public void start(final Stage stage) throws Exception {
final GridPane grid = new GridPane();
grid.setHgap(5);
grid.setVgap(5);
grid.setPadding(new Insets(10, 10, 10, 10));
grid.add(new Label("Something:"), 0, 0);
final Spinner<?> s1 = new Spinner<>();
grid.add(s1, 1, 0);
grid.add(new Label("Another thing:"), 0, 1);
final Spinner<?> s2 = new Spinner<>();
grid.add(s2, 1, 1);
final Button b = new Button("A button");
grid.add(b, 0, 2, 2, 1);
stage.setScene(new Scene(grid, 400, 150));
stage.show();
}
public static void main(final String... args) {
launch(args);
}
}
下面是我想:
- 的微調按鈕應該使用所有可用的寬度
- 標籤應始終保持他們的首選寬度,從不改變它們的大小
- 當我使窗口更寬時,旋鈕和按鈕應該增長
- 當我使窗口窄,微調按鈕應該縮小,但不低於其首選寬度
我試圖用種種侷限,但我不能把一切工作的權利。我認爲我發現的主要問題是,在讓紡紗廠使用可用寬度後,他們在縮小窗口時拒絕縮小。
我在Linux中使用Oracle JDK 1.8.0_60。