我有15个不同的线程运行所有来自用户的动态输入。我需要这些线程才能在我的JButton被按下时运行。我知道我没有提供按钮的代码,但它只是一个简单的减速。
JButton JButton_Button1 = new JButton("Start");
再次阐明我只想在单击JButton_Button1
时启动线程
new Thread() {
int counter = 10;
public void run() {
while(counter >= 0) {
JLabel_MistyvaleLoot.setText("Test" + (counter--));
try{
Thread.sleep(1000);
} catch(Exception e) {}
}
}
}.start();
答案 0 :(得分:0)
如果您希望运行15个线程,但除了按下JButton
之外,您希望它们不执行任何操作,请考虑使用固定大小的线程池。尝试使用:
private ExecutorService threadPool = Executors.newFixedThreadPool(15);
这构造了15个处理线程,这些线程将在您提交任务之前空闲。如果您想在按下JButton
时提交任务,则应添加ActionListener
。也就是说,试试这个:
JButton jButton1 = new JButton("Start");
jButton1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
threadPool.submit(new Runnable(){
int counter = 10;
public void run() {
while(counter >= 0) {
JLabel_MistyvaleLoot.setText("Test" + (counter--));
try {
Thread.sleep(1000);
} catch(InterruptedException e) {
}
}
}
});
}
});
要获得运行任务的十五个主题中的一个,请致电threadPool.submit()
并按下按钮以响应点击,然后拨打jButton1.addActionListener()
。