Я сейчас занимаюсь разработкой программы, где у вас есть стол.Там столбцы должны быть переменными.Это означает, что в зависимости от того, что вы укажете, будет создано много столбцов.Я реализовал это:
public void setAlph(String alphString){
ArrayList<Character> alphNew = new ArrayList<Character>();
for (char c : alphString.toCharArray()) {
alphNew.add(c);
}
alph = alphNew;
alph.add('#');
for(int i = 0; i < states.size(); i++){
for(int j = 0; j < alph.size(); j++){
states.get(i).addChar(alph.get(j));
}
}
mainWindowController.getTableRules().getColumns().clear();
TableColumn statesCol = new TableColumn("state");
statesCol.setCellValueFactory(new PropertyValueFactory<State, String>("name"));
mainWindowController.getTableRules().getColumns().addAll(statesCol);
for(int i = 0; i < getAlph().size(); i++){
TableColumn tc = new TableColumn("" + getAlph().get(i));
tc.setCellValueFactory(new MapValueFactory<String>("" + getAlph().get(i)));
mainWindowController.getTableRules().getColumns().addAll(tc);
}
}
Проблема в том, что я не знаю, как вставить значения в столбцы сейчас.Класс "State" (откуда берутся значения) выглядит следующим образом:
public class State {
private final SimpleStringProperty name;
private Map<Character, String> map;
public State(String name) {
this.name = new SimpleStringProperty(name);
map = new HashMap<Character, String>();
}
public String getName() {
return name.get();
}
public SimpleStringProperty nameProperty() {
return name;
}
public void setName(String name) {
this.name.set(name);
}
public String toString(){
return name.get();
}
public void addChar(char c){
map.put(c, "null");
}
public String getValue(char key){
return map.get(key);
}
}
Теперь я хочу, чтобы значения из HashMap были помещены в столбец.Только я не очень знаю, как это сделать.Может ли кто-нибудь помочь мне, пожалуйста?Заранее спасибо!LG BTL