Код: Выделить всё
public class JavaFxTest7 extends Application {
private static class Student {
private int id;
private int mark;
public Student(int id, int mark) {
this.id = id;
this.mark = mark;
}
public int getId() {
return id;
}
public int getMark() {
return mark;
}
}
private static class MyTab extends Tab {
private final TableView table = new TableView(FXCollections.observableList(
List.of(new Student(1, 3), new Student(2, 4), new Student(3, 5))));
private final MenuItem menuItem = new MenuItem("New Tab");
private final ContextMenu contextMenu = new ContextMenu(menuItem);
public MyTab() {
var idColumn = new TableColumn();
idColumn.setCellValueFactory((data) -> new ReadOnlyObjectWrapper(data.getValue().getId()));
var markColumn = new TableColumn();
markColumn.setCellValueFactory((data) -> new ReadOnlyObjectWrapper(data.getValue().getMark()));
table.getColumns().addAll(idColumn, markColumn);
menuItem.setOnAction((e) -> {
var newTab = new MyTab();
this.getTabPane().getTabs().add(newTab);
});
table.setContextMenu(contextMenu);
this.setContent(table);
}
}
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
TabPane tabPane = new TabPane();
tabPane.getTabs().add(new MyTab());
var scene = new Scene(tabPane, 400, 300);
var css= this.getClass().getResource("test7.css").toExternalForm();
scene.getStylesheets().add(css);
stage.setScene(scene);
stage.show();
}
}
Код: Выделить всё
.tab-pane > .tab-header-area .tab .focus-indicator {
-fx-border-width: 2 0 0 0;
-fx-border-color: green;
-fx-border-insets: -3 -5 0 -5;
-fx-border-radius: 2 2 0 0;
}
.tab-pane > .tab-header-area .tab:focus-within .focus-indicator {
-fx-border-width: 2 0 0 0;
-fx-border-color: red;
-fx-border-insets: -3 -5 0 -5;
-fx-border-radius: 2 2 0 0;
}
[img]https://i.stack.imgur .com/RBkzd.png[/img]
Как вы видите, таблица на первой вкладке имеет фокус, но вкладка имеет зеленую рамку, а не красную. Может ли кто-нибудь сказать, как это исправить? Или я неправильно понимаю смысл этого псевдокласса?
Подробнее здесь: https://stackoverflow.com/questions/783 ... -in-javafx