Я получаю Ошибка синтаксиса на токене «>>», выражение после этого токена при вызове setCellFactory
ниже, но не понимаю почему.Ошибка синтаксиса на токене «>>», выражение после этого токена
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class TableVieww extends Application {
private static TableView<TableData> table;
public static void main(String[] args) {
launch(args);
}
@SuppressWarnings("unchecked")
public void start(Stage primaryStage) throws Exception {
Stage s = primaryStage;
s.setTitle("The Title");
TableColumn<TableData, String> column1 = new TableColumn<>("String");
column1.setMinWidth(150);
column1.setCellValueFactory(new PropertyValueFactory<TableData, String>("s"));
column1.setEditable(true);
column1.setCellFactory(TextFieldTableCell.forTableColumn());
column1.setOnEditCommit(e -> {
});
TableColumn<TableData, Double> column2 = new TableColumn<>("Double");
column2.setMinWidth(50);
column2.setCellValueFactory(new PropertyValueFactory<TableData, Double>("d"));
column2.setEditable(true);
// Error within this line (The line below)
column2.setCellFactory(TextFieldTableCell.forTableColumn());
column2.setOnEditCommit(e -> {
});
// set up a table
table = new TableView<>();
table.setItems(getData());
table.getColumns().addAll(column1, column2);
table.setEditable(true);
// setting up a layout
VBox layout = new VBox(10);
layout.getChildren().add(table);
// Setting up a scene
Scene scene = new Scene(layout, 500, 200);
s.setScene(scene);
s.show();
}
private static ObservableList<TableData> getData(){
ObservableList<TableData> list = FXCollections.observableArrayList();
TableVieww view = new TableVieww();
list.add(view.new TableData("BlaBlaBla", 10));
list.add(view.new TableData("TraTraTra", 5.1));
return list;
}
public class TableData{
double d;
String s;
public TableData(String s, double d) {
this.d = d;
this.s = s;
}
public double getD() {
return d;
}
public void setD(double d) {
this.d = d;
}
public String getS() {
return s;
}
public void setS(String s) {
this.s = s;
}
}
}
Что не так? Заранее спасибо за помощь!
очистки для ясности и читаемости – J0e3gan
Ваш код не является исполняемым, вы используете классы, которые не имеют, попробовать и посмотреть, если вы можете сузить проблему вплоть до небольшой класс, который я могу запустить. –