Взаимное получение данных Модель и Представление (Многопоточность)

Подскажите пожалуйста, имею класс:

public class KadrPressMain {
    static Model model;
    static KadrPress viewKadr;


    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                model=new FileSystemModelJTable(viewKadr.getjLabel().getText());
                viewKadr=new KadrPress(model);
                viewKadr.setVisible(true);
            }
        });
    }
}

Имеется класс представления

public class KadrPress extends JFrame {
    private Model model;
    private JLabel jLabel;

    public JLabel getjLabel() {
        return jLabel;
    }

    public KadrPress(Model model) throws HeadlessException {
        this.model=model;
        this.setSize(500,500);
        this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        this.setLocationRelativeTo(null);
        JButton loadButton=new JButton("Загрузить");
        loadButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                model.manLoader();
            }
        });
        this.add(loadButton,"South");

        jLabel=new JLabel("Яблоки");
        this.add(jLabel);    
    }
}

и класс модели:

public class FileSystemModelJTable implements Model, Serializable{
    private String path;
    private int summ;


    public FileSystemModelJTable(String path) {
        this.summ=0;
        DTMFormer dtmFormer=new DTMFormer();
        dtmFormer.start();
    }

    @Override
    public void manLoader() {
        System.out.println("Загрузка"+FileSystemModelJTable.this.summ+""+path);
    }

    private class DTMFormer extends Thread
    {
        @Override
        public void run() {
            for (int i=0;i<10000;i++)
            {
                FileSystemModelJTable.this.summ=FileSystemModelJTable.this.summ+i;
            }
        }
    }

}

Суть вопроса состоит в следующем, необходимо, чтобы при вызове конструктора модели, независимо от выполнения остальной программы отработала нить со счетчиком, при этом представление продолжало загрузку, а выполнения счетчика Представление и Модель могли получать данные друг из друга. Как сделать что бы данная программа работала без ошибок. Спасибо


Ответы (0 шт):