Здравствуйте, ребята.Пользуюсь awt , swing.
У меня вопрос, как создать 2 потока (это я сделал), но чтобы метод paint из каждого потока рисовал в одном окне
(я делал window.add(obj1);
window.add(obj2))? но работал метод paint от 2-ого потока, а мне нужно чтобы оба paint'ы активизировались и рисовали в одном окне!!!Вот код:
Открыть спойлер
Закрыть спойлер
package a;
import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;
class c1 extends JPanel implements Runnable {
protected void paintComponent(Graphics g) {
Color MyColor=new Color(100,141,56);// Создать цвет
g.setColor(MyColor);// Использовать цвет
g.fillRect(25, 25, 100,100);
repaint();
}
public void run() //Этот метод будет выполняться в побочном потоке
{
System.out.println("Привет из побочного потока!");
}
}
public class AAA {
public static class c2 extends JPanel {
protected void paintComponent(Graphics g) {
Color MyColor=new Color(66,77,15);// Создать цвет
g.setColor(MyColor);// Использовать цвет
g.fillRect(0, 0, 120,120);
repaint();
//myapplet.getAudioClip(MyPlayerClass.class.getResource("путь и имя ресурса для проигрывания").play();
}
}
//static c1 obj;
public static void main(String[] a) {
c1 obj1= new c1();
c2 obj2 = new c2();
JFrame window = new JFrame();
window.setSize(840, 560);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.add(obj2);
//window.add(obj);
window.setVisible(true);
Thread t = new Thread(obj1); //Создание потока "myThready"
t.start();
}
}