在下面的代碼中,我有一個工具欄,並且我添加了各種大小的按鈕。我想要的按鈕是正方形和所有相同的大小。因此,基本上找到所有按鈕的最長寬度或高度,並將所有其他按鈕寬度和高度設置爲此大小。然而,按鈕可以改變大小,所以我想要一個綁定。我無法弄清楚 - 任何人都知道如何做到這一點?在JavaFX中設置工具欄按鈕方形和所有相同的大小2
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ToolBar;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class ToolBarButtonTest extends Application {
@Override
public void start(Stage stage) throws Exception {
BorderPane borderPane = new BorderPane();
Scene scene = new Scene(borderPane, 500, 500);
ToolBar toolBar = new ToolBar();
Button button1 = new Button("s");
Button button2 = new Button("ss");
Button button3 = new Button("sss");
toolBar.getItems().addAll(button1, button2, button3);
borderPane.setTop(toolBar);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
謝謝,尼克。
我認爲OP的意思是「方形」,因爲按鈕的高度和寬度都是相同的。如果您在InvalidationListener中設置寬度的相同位置添加了「b.setPrefHeight(width)」,那麼您的示例將更接近意圖。我不認爲他打算讓按鈕的角落變成方形。 – clartaq 2013-03-17 03:55:40
你當然是對的 - 我的不好。我已經更新了相應的答案,儘管方形文本按鈕只是醜陋的imho。 – sarcan 2013-03-17 10:01:22
我的意思是平方,因爲在寬度和高度是相同的大小。我希望這可以通過綁定api來實現,但這是完美的,所以非常感謝答案。 – Boomah 2013-03-17 17:13:03