我创建JFrame
其中包含和InternalFrame
其中提请其移动数字(每个数字是另一个Thread
)我想pauseButton
让它暂停,所以我想给他们传递的对象上同步。同步一个传递的对象上,JFrame的被冻结
但是当我点击暂停按钮时,整个窗口冻结,我不能按下播放按钮 另一件事是当时只有一个正在运行,我希望它们全部运行,然后全部暂停。
class A extends JFrame{
....
Object o = new Object();
JButtton pauseButton = new JButton("pause");
JButtton playButton = new JButton("play");
B b = new B(o);
pauseButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
synchronized (synchronizator) {
try {
synchronizator.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
playButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
synchronized (synchronizator) {
synchronizator.notifyAll();
}
}
...
}
class B extends JInternalFrame{
Object o;
B(Object o){this.o = o}
./...
many... C thread = new C(o);
....
}
class C extends Thread{
Object o;
booolean running;
public void run(){
while(running){
synchronized(o){
}
}
}
}
'其中提请其移动(每个数字是另一个线程)的数字'请为什么,是连接数据库的线程,RMI,插座,阅读FileIO专注???,如果没有则只能使用一个作为已经被@建议摇摆定时器汤姆Hawtin - tackline,这里大约把所有(准备)对象数组和里面的paintComponent到pick_up无论基于何种条件 – mKorbel 2013-05-02 11:48:29