Как в JavaFX TableView щелкая по ячейке выделять отдельно каждую ячейку, а не всю строку. В дальнейшем я бы хотел реализовать копирование содержимого ячейки. Программку пишу отсюда https://metanit.com/java/javafx/4.13.php, ошибок нет, все ок. Просто не знаю как, и можно ли реализовать такое в принципе.
import javafx.application.Application;
import javafx.beans.property.SimpleStringProperty;
import javafx.collections.FXCollections;
import javafx.collections.ListChangeListener;
import javafx.scene.Scene;
import javafx.scene.control.SelectionMode;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TablePosition;
import javafx.scene.control.TableView;
import javafx.stage.Stage;
public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
TableView<String[]> tableView = new TableView<>(FXCollections.observableArrayList(
new String[]{"1", "2", "3"},
new String[]{"4", "5", "6"},
new String[]{"7", "8", "9"}
));
// возможность выделять конкретную ячейку (без этого выделяются строки)
tableView.getSelectionModel().setCellSelectionEnabled(true);
// возможность выделять несколько ячеек через SHIFT/CTRL (либо несколько строк соответственно)
// без этого можно выделить только одну ячейку
tableView.getSelectionModel().setSelectionMode(SelectionMode.MULTIPLE);
// слушатель для реализации реакции на выделение ячеек
tableView.getSelectionModel().getSelectedCells().addListener(this::selectCells);
TableColumn<String[], String> tc1 = new TableColumn<>("Column 1");
tc1.setCellValueFactory(param -> new SimpleStringProperty(param.getValue()[0]));
TableColumn<String[], String> tc2 = new TableColumn<>("Column 2");
tc2.setCellValueFactory(param -> new SimpleStringProperty(param.getValue()[1]));
TableColumn<String[], String> tc3 = new TableColumn<>("Column 3");
tc3.setCellValueFactory(param -> new SimpleStringProperty(param.getValue()[2]));
tableView.getColumns().addAll(tc1, tc2, tc3);
primaryStage.setScene(new Scene(tableView));
primaryStage.show();
}
// реакция на выделение ячеек
private void selectCells(ListChangeListener.Change<? extends TablePosition> c) {
c.getList().forEach(System.out::println);
}
public static void main(String[] args) {
launch(Main.class, args);
}
}
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нужно было вывести PDF файл в Spring MVCСейчас при выводе кириллица не отображается,просто исчезает а цифры остаются
Решил покодить по хардкору использовав обычный текстовый редактор, но возникла загвоздка в его настройке, кто может описать шаги для настройки...
Пытаюсь обтравить прямоугольник по маске SVGпроблема в том, что высота прямоугольника динамическая (от 0px до 32px), а SVG-изображение подгружается...