Мое nameSpinner не обновляется даже после добавления элементов в его модель ArrayList - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь заставить мой объект nameSpinner использовать список объектов arrayList, чтобы я мог go просматривать список. Я сохраняю свой объект Game в ArrayList игр и использую этот массив как основу для счетчика имен. Но по какой-то причине, даже когда я знаю, что arrayList имеет более одного элемента, эти новые элементы не отображаются в Spinner.

Вот все соответствующие фрагменты кода

Сначала JSpinner, который создает счетчик имен и использует ArrayList ListofGames в качестве модели.

 private JSpinner createNameSpinner() {
        model = new SpinnerListModel(masterMind.theModel.ListofGames);
       nameSpinner = new JSpinner(model);
        nameSpinner.addChangeListener(e -> { });
        return nameSpinner;

    }

Затем listofGames, который является ArrayList определен в классе Model и расширен классом игры

package Starting;

import java.util.ArrayList;

public class Model {


     public ArrayList<game> ListofGames = new ArrayList<game>();

    Model (){

    }



}

и

package Starting;

import javax.swing.*;

public class game extends Model {

    private String country;
    private String Company;
    private int length;
    private String price;
    ImageIcon image;
    private String name;
    private String description;
    private String type;

    game (){


        this.country = "";
       this.Company = "";
       this.length = 0;
       this.price = "";
       this.image = null;
       this.name = "";
       this.description = "";
       this.type = "";
    }


    public void saveTheGame (){
        ListofGames.add(this);
        System.out.println(this.name);
    }

    public void isthereAnything(){

        System.out.println(ListofGames.size());
    }


    public void setType(String type) {
        this.type = type;
    }

    public String getType() {
        return type;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getDescription() {
        return description;
    }

    public String getCompany() {
        return Company;
    }

    public void setCompany(String company) {
        Company = company;
    }

    public int getLength() {
        return length;
    }

    public void setLength(int length) {
        this.length = length;
    }

    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public ImageIcon getImage() {
        return image;
    }

    public void setImage(ImageIcon image) {
        this.image = image;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }
}

Наконец, у меня также есть код в контроллере, который добавляет placeHolder в ArrayList, поэтому что это не пустой пустой список

 Controller() {

        game placeholder = new game();
        theModel.ListofGames.add(placeholder);
    }
...