Не могу показать все свойства объекта через jTextField - PullRequest
0 голосов
/ 30 мая 2018

У меня проблема с попыткой отобразить свойства каждого отдельного объекта (например, ID, заголовок и т. Д.) В jTextField.

Я могу получить выходные данные для последнего объекта в списке, но не могу получить доступ к тем, которые были до него, когда нажимаю на них в графическом интерфейсе.

Что мне нужнодобавить в цикл, чтобы иметь возможность доступа ко всем элементам в списке / модели, а не только к последнему элементу?Ниже мой код, спасибо

for (int i = 0; i < list.size(); i++) {
    model.addElement(list.get(i));
        jTextFieldID.setText(model.get(i).getId());
        jTextFieldTitle.setText(model.get(i).getTitle());
        jTextFieldSubreddit.setText(model.get(i).getSubreddit());
        jTextAreaSelfText.setText(model.get(i).getSelftext());
        jTextFieldAuthor.setText(model.get(i).getAuthor());
        jTextFieldCreated.setText(model.get(i).getCreated());
        jTextFieldScore.setText(Integer.toString((model.get(i).getScore())));
}

1 Ответ

0 голосов
/ 30 мая 2018

В настоящее время у вас есть итерация ваших элементов.

Для каждого элемента вы установите значение в каждом текстовом поле.Конечно, JTextField.setText(String)

Устанавливает текст этого TextComponent в указанный текст.Если текст нулевой или пустой, имеет смысл просто удалить старый текст.

Таким образом, каждый вызов в одном и том же текстовом поле заменяет предыдущее значение.

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

public void setTextField(RedditPost post)
    jTextFieldID.setText(post.getId());
    jTextFieldTitle.setText(post.getTitle());
    jTextFieldSubreddit.setText(post.getSubreddit());
    jTextAreaSelfText.setText(post.getSelftext());
    jTextFieldAuthor.setText(post.getAuthor());
    jTextFieldCreated.setText(post.getCreated());
    jTextFieldScore.setText(Integer.toString((post.getScore())));
}

И вам нужно будет восстановить экземпляр на основе события, которое вы вызвали, чтобы вызвать этот метод.

RedditPost post = list.get(/* basd on the event*/);
setTextField(post);
...