TableView 列位置和 TabbedPane 选项卡从右侧开始,而不是在 JavaFX 中从左侧开始?
TableView columns position and TabbedPane tabs start from Right Side instead of left in JavaFX?
我已经搜索了几个小时,但找不到使 TabbedPane 的 tableView 列和选项卡从右侧而不是左侧开始的任何方法。
正如我们在图片中看到的 java 默认情况下从左侧到右侧创建它们,并在右侧留空 space 。有什么办法可以反过来吗?
谢谢
see image here
使用setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
import javafx.application.Application;
import javafx.geometry.NodeOrientation;
import javafx.scene.Scene;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class NodeOrientationTest extends Application {
@Override
public void start(Stage primaryStage) {
TabPane tabPane = new TabPane();
tabPane.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
Tab tab1 = new Tab("Tab 1");
Tab tab2 = new Tab("Tab 2");
tabPane.getTabs().addAll(tab1, tab2);
TableView<Void> table = new TableView<>();
table.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
table.getColumns().add(new TableColumn<Void, Void>("Column 1"));
table.getColumns().add(new TableColumn<Void, Void>("Column 2"));
tab1.setContent(table);
Scene scene = new Scene(tabPane, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
请注意,默认情况下,table 视图将从其父级继承此视图,因此您可以省略对 table.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
的调用并获得相同的结果。 (或者只是在现场设置。)
我已经搜索了几个小时,但找不到使 TabbedPane 的 tableView 列和选项卡从右侧而不是左侧开始的任何方法。 正如我们在图片中看到的 java 默认情况下从左侧到右侧创建它们,并在右侧留空 space 。有什么办法可以反过来吗? 谢谢 see image here
使用setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
import javafx.application.Application;
import javafx.geometry.NodeOrientation;
import javafx.scene.Scene;
import javafx.scene.control.Tab;
import javafx.scene.control.TabPane;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class NodeOrientationTest extends Application {
@Override
public void start(Stage primaryStage) {
TabPane tabPane = new TabPane();
tabPane.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
Tab tab1 = new Tab("Tab 1");
Tab tab2 = new Tab("Tab 2");
tabPane.getTabs().addAll(tab1, tab2);
TableView<Void> table = new TableView<>();
table.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
table.getColumns().add(new TableColumn<Void, Void>("Column 1"));
table.getColumns().add(new TableColumn<Void, Void>("Column 2"));
tab1.setContent(table);
Scene scene = new Scene(tabPane, 800, 600);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
请注意,默认情况下,table 视图将从其父级继承此视图,因此您可以省略对 table.setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT);
的调用并获得相同的结果。 (或者只是在现场设置。)