Nano Hash - криптовалюты, майнинг, программирование

JavaFX: заполнение TableView (fxml) данными

то ли я долго смотрю... то ли не очень понял.

В любом случае я пытаюсь заполнить табличное представление, созданное с использованием fxml (включая столбцы), данными.

Мой код работает для первого столбца (название), но не для остальных.

(Да, «данные» содержат всю информацию... проверено с помощью отладки.)

Так может ли кто-нибудь сказать мне, что я делаю неправильно??

Здесь (надеюсь, все уместно) код (скопировано вместе):

@FXML private TableColumn<sresult,String> cl_title;
@FXML private TableColumn<sresult, String> cl_url;
@FXML private TableColumn<sresult, String> cl_poster;
@FXML private TableColumn<sresult, String> cl_date;
@FXML private TableColumn<sresult, String> cl_forum;

    String[][] search_res=null;
    try {
        search_res= search(tf_search.getText());
    } catch (MalformedURLException | SolrServerException | ParseException ex) {
        Logger.getLogger(MainUiController.class.getName()).log(Level.SEVERE, null, ex);
    }

    final ObservableList<sresult> data= FXCollections.observableArrayList();
    for ( String[] s : search_res){
        data.add(new sresult(s[0], s[2],s[3],s[4],s[1]));
    }


    cl_title.setCellValueFactory(
            new PropertyValueFactory<sresult,String>("Title"));
    cl_poster.setCellValueFactory(
            new PropertyValueFactory<sresult,String>("poster"));
    cl_date.setCellValueFactory(
            new PropertyValueFactory<sresult,String>("date"));
    cl_forum.setCellValueFactory(
            new PropertyValueFactory<sresult,String>("forum"));
    cl_url.setCellValueFactory(
            new PropertyValueFactory<sresult,String>("link"));        
    tb_results.setItems(data);



public class sresult {
    private final SimpleStringProperty Title;
    private final SimpleStringProperty poster;
    private final SimpleStringProperty date;
    private final SimpleStringProperty forum;
    private final SimpleStringProperty link;

    public sresult(String T, String p, String d, String f, String l) {
        this.Title = new SimpleStringProperty(T);
        this.poster = new SimpleStringProperty(p);
        this.date = new SimpleStringProperty(d);
        this.forum = new SimpleStringProperty(f);
        this.link = new SimpleStringProperty(l);
    }

    public String getTitle() {
        return Title.get();
    }
    public void setTitle(String T) {
        Title.set(T);
    }

    public String getposter() {
        return poster.get();
    }
    public void setposter(String p) {
        poster.set(p);
    }

    public String getdate() {
        return date.get();
    }
    public void setdate(String d) {
        date.set(d);
    }
    public String getforum() {
        return forum.get();
    }
    public void setforum(String f) {
        forum.set(f);
    }

    public String getlink() {
        return link.get();
    }
    public void setlink(String l) {
        link.set(l);
    }
}

Благодарю вас!

29.06.2013

  • это действительно странно, что это не работает. Я делаю точно такой же код, как и вы, и он работает. Где ваша декларация tableview? у вас правильно написано @FXML Tableview‹sresult› tb_results ? 30.06.2013
  • возможный дубликат Javafx PropertyValueFactory, не заполняющий Tableview 30.06.2013

Ответы:


1

Ok,

Это было достаточно похоже, чтобы я получил ответ.

Геттер и сеттеры должны иметь заглавную букву после get/set.

например публичная строка getTitle() против публичной строки gettitle()

не совсем уверен, почему java заставляет это...

В любом случае, спасибо Jewelsea за его ответ на другой вопрос.

30.06.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..