Я не знаю, как díplay < string + addelement(x) > В jlist
Thtread A создает случайное число и добавляет его в текстовую область A, а затем уведомляет поток B. Затем поток B добавляет Это число в текстовую область B и уведомляет поток A о создании нового случайного числа... и продолжает в том же духе.
Пример:
Нить А Нить Б
A создать 51 B отобразить 51
A создать 43 B отобразить 43
Создать 29
Моя проблема: моя программа успешно работала с числами, но я не знаю, как отобразить "A create + number" и "B display + number", например.
Что я уже пробовал:
DefaultListModel ta,tb; Thread a, b; Random u; public JFrame1() { initComponents(); ta = new DefaultListModel(); text1.setModel(ta); tb = new DefaultListModel(); text2.setModel(tb); u = new Random(); initThreadA(); initThreadB(); } void threadA_work() { String []ar = {"A create %d"}; int x = u.nextInt(100); //ta.addElement("A create "); ta.addElement(x); } void threadB_work() { int size = ta.getSize(); int x = (Integer) ta.elementAt(size - 1); //tb.addElement("B display "); tb.addElement(x); } void initThreadA() { a = new Thread() { public void run() { while(true) { threadA_work(); try { sleep(1000); } catch(InterruptedException e) { } synchronized(b) { b.notify(); } try { synchronized(this) { wait(); } } catch(InterruptedException e) { } } } }; } void initThreadB() { b = new Thread() { public void run() { while(true) { try { synchronized(this) { wait(); } } catch(InterruptedException e) { } threadB_work(); try { sleep(1000); } catch(InterruptedException e) { } synchronized(a) { a.notify(); } } } }; } private void bt1ActionPerformed(java.awt.event.ActionEvent evt) { a.start(); b.start(); }