创建具有定义的最小标签宽度的tabpane时,JavaFX将使每个标签的标签居中。
有没有办法左对齐标签?我试过这个:
package prv.rli.codetest;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.stage.Stage;
public class TabPaneFixedWidthLeftAligned extends Application {
public TabPaneFixedWidthLeftAligned() {
}
@Override
public void start(Stage primaryStage) throws Exception {
TabPane pane = new TabPane();
pane.setTabMinWidth(150);
pane.getTabs().addAll(new Tab("Bilbo"), new Tab("Baggins"));
pane.getStylesheets().add("file:///home/rli/devel/repository/source/java/project/apps/CodeTest/src/main/java/prv/rli/codetest/test.css");
Scene scene = new Scene(pane, 640, 480);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
和这个css一起:
.tab-container {
-fx-background-color: red;
-fx-alignment: center-left;
}
.tab-label {
-fx-background-color: blue;
-fx-alignment: center-left;
-fx-text-alignment: left;
}
当背景颜色有效(表明我在正确的轨道上)时,我无法影响标签的文本对齐方式。
答案 0 :(得分:1)
我通过设置以下属性来实现此目的:
.tab-pane
{
-fx-tab-min-width: 150.0px;
}
.tab .tab-label
{
-fx-alignment: center;
}
另请参阅StackOverflow上的这个答案:Change JavaFx Tab default Look
答案 1 :(得分:0)
您可以尝试调整.tab-label
.tab-label {
-fx-pref-width:150;
/* ... other styles*/
}