Criação de Thread
Do artigo de Hugo Vidal Teixeira publica na edicao 39 da JM.
package br.com.javamagazine.exemplo;
import java.util.ArrayList;
import java.util.List; /**
* Realiza a comunicação da GUI com o resto
* do software. Essa classe é usada pela classe
* CadastroUsuarioPresentationModel.
*
* Aqui foram definidos alguns dados fixos para teste.
*
* Em sistemas reais, você deve colocar aqui chamadas
* aos EJBs, bancos de dados, etc. É recomendado a criação
* de uma thread separada para não travar a GUI.
*
* @author Hugo Teixeira
*/
public class CadastroUsuarioServiceLayer { public List buscaUsuarios() {
// Retorna dados fixos para nosso exemplo...
ArrayList usuarios = new ArrayList();
usuarios.add(new Usuario("Deodoro da Fonseca", Cargos.GERENTE_PROJETO, true));
usuarios.add(new Usuario("Floriano Peixoto", Cargos.DESENVOLVEDOR));
usuarios.add(new Usuario("Prudente de Moraes", Cargos.LIDER_EQUIPE));
usuarios.add(new Usuario("Campos Salles", Cargos.SUPORTE));
return usuarios;
} public void salvaUsuarios(List listaUsuarios) {
// Salvar na base de dados...
} } Não entendi como deve ser feito o que esta na seguinte linha É recomendado a criação
de uma thread separada para não travar a GUI Como devo implementar isto?
import java.util.List; /**
* Realiza a comunicação da GUI com o resto
* do software. Essa classe é usada pela classe
* CadastroUsuarioPresentationModel.
*
* Aqui foram definidos alguns dados fixos para teste.
*
* Em sistemas reais, você deve colocar aqui chamadas
* aos EJBs, bancos de dados, etc. É recomendado a criação
* de uma thread separada para não travar a GUI.
*
* @author Hugo Teixeira
*/
public class CadastroUsuarioServiceLayer { public List buscaUsuarios() {
// Retorna dados fixos para nosso exemplo...
ArrayList usuarios = new ArrayList();
usuarios.add(new Usuario("Deodoro da Fonseca", Cargos.GERENTE_PROJETO, true));
usuarios.add(new Usuario("Floriano Peixoto", Cargos.DESENVOLVEDOR));
usuarios.add(new Usuario("Prudente de Moraes", Cargos.LIDER_EQUIPE));
usuarios.add(new Usuario("Campos Salles", Cargos.SUPORTE));
return usuarios;
} public void salvaUsuarios(List listaUsuarios) {
// Salvar na base de dados...
} } Não entendi como deve ser feito o que esta na seguinte linha É recomendado a criação
de uma thread separada para não travar a GUI Como devo implementar isto?
Israel Barbosa
Curtidas 0
Respostas
Dyego Carmo
18/06/2009
A aplicação é Swing ?
GOSTEI 0
Israel Barbosa
18/06/2009
Sim a aplicação e em swing utilizando JGoodies. Caso voce não tenha o artigo posso enviar para vc.
GOSTEI 0
Dyego Carmo
18/06/2009
Utilize uma thread do tipo SwingWorker...
ex:
JButton button = new JButton("Open XML");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
SwingWorker worker =
new SwingWorker() {
public Document doInBackground() {
Document intDoc = loadXML();
return intDoc;
}
public void done() {
doc = get();
}
};
worker.execute();
}
});
GOSTEI 0