Parar uma thread por vez com o mesmo JButton

3 respostas
AbnoanMuniz

Boa noite prezados,

Minha duvida é a seguinte, tenho um JButton, chamando um metodo para parar todas as threads que eu tenho rodando, o que eu queria fazer era para que a cada clique parasse apenas uma thread. Como devo proceder?

Código do botão :
btnStopall = new JButton("StopAll");
		btnStopall.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
			}
		});
		btnStopall.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseClicked(MouseEvent e) {
				btnStartall.setVisible(true);
				eventoStopAll();
			}
		});
Código do metodo :
protected void eventoStopAll() {
		this.act.setgFlag(false);
		this.act2.setgFlag(false);
		this.act3.setgFlag(false);
		
	}

Obs.: Utilizo Swingworker para brincar com as threads.

3 Respostas

TerraSkilll

Você quer parar uma thread determinada (pelo “nome”, por exemplo) ou quer parar a primeira thread do conjunto que for detectada como rodando?

Abraço.

AbnoanMuniz

Quero parar na ordem que eu especificar.

TerraSkilll

Você precisa controlar então a Thread a ser parada atualmente. Uma possibilidade é criar uma variável local referenciando a Thread a ser parada. Quando o usuário clica no botão, você para somente aquela Thread, e muda variável para uma outra Thread. Se suas Threads forem adicionadas a uma lista (Arraylist, LinkedList), talvez fique mais fácil fazer esse controle.

Abraço.

Criado 29 de outubro de 2013
Ultima resposta 31 de out. de 2013
Respostas 3
Participantes 2