Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

1. Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 26/10/2012 - 00:12h

Oi Pessoal!


Por favor Me ajudem

Meu sistema consitem em:
Quando eu pesquisar uma musica no meu sistema, ele mostrar uma miniatura relativa àquela pesquisa;


como são várias letras para formar uma palavra, enquanto eu estiver digitando ele procurar e mostrar

private void pesquisaKeyReleased(java.awt.event.KeyEvent evt) {
//chama o método de pesquisa por ano;
}

public void pesquisaAno (){
//faz o select no banco e retorna com o respectivo ANO da pesquisa e chama o método
setLabel(int ano);
}
public void setLabel(int ano){

if (ano==1993)
{
//ativar a label
cd1993.setVisible(true);
cd1993.setIcon(new javax.swing.ImageIcon(getClass().getResource("/miniatura/1993/1993.png"))); Listener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
cd1993MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
cd1993MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
cd1993MouseExited(evt);
}


});

}

private void cd1993MouseClicked(java.awt.event.MouseEvent evt) {
String sql = "SELECT * FROM tema INNER JOIN ano ON ano_id = tema_ano_id WHERE ano_ano = "+2002;
c.executeSQL(sql);
try {
c.rs.next();
String url = c.rs.getString("tema_url").replace("/", "\\");
Process exec = Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+url);
} catch (SQLException ex) {
Logger.getLogger(Menu.class.getName()).log(Level.SEVERE, null, ex);
}
catch (Exception e){
JOptionPane.showMessageDialog(null, "Erro "+e);
}
}


quando eu clicar na label, ele vai abrir varias vezes(eu nao queria isso)... alguém tem alguma idéia?


  


2. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/10/2012 - 08:47h

http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/event/MouseListener.html


public void mouseClicked(java.awt.event.MouseEvent evt) {
cd1993MouseClicked(evt);
}
public void mouseEntered(java.awt.event.MouseEvent evt) {
cd1993MouseEntered(evt);
}
public void mouseExited(java.awt.event.MouseEvent evt) {
cd1993MouseExited(evt);
}


Tente remover o mouseEntered e o mouseExited


[]s


3. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 26/10/2012 - 15:32h

luizrocha13 escreveu:

Tente remover o mouseEntered e o mouseExited


[]s


mas se eu remover ele não vai desativar o comportamento da label de passar o mouse
e saída de mouse?
Eu uso o entered para o mouse mudar pra mãozinha quando posicionar o cursor sobre a label
e o exited é para o mouse voltar para o cursor normal.




4. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 26/10/2012 - 16:48h

lol foi mal acabei vendo dobrado

Bom olhando no seu MouseClicked, acho que se você tirar o Process exec irá resolver o problema já que o RunTime tem um exec


Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL "+url);



Se não funcionar você pode usar o ProcessBuilder, aqui um exemplo que eu fiz:


ProcessBuilder pb = new ProcessBuilder("/usr/bin/trickle", "-s", download, upload, comando);

pb.redirectErrorStream(true);

Process proc = pb.start();

#edit



5. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 26/10/2012 - 18:10h



//Se não funcionar você pode usar o ProcessBuilder, aqui um exemplo que eu fiz:

[code]
ProcessBuilder pb = new ProcessBuilder("/usr/bin/trickle", "-s", download, upload, comando);

pb.redirectErrorStream(true);

Process proc = pb.start();

#edit


Você pode me explicar como funciona o ProcessBuilder?




6. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 26/10/2012 - 18:24h

Bom, eu tentei usar assim:

ProcessBuilder pb = new ProcessBuilder(url);

pb.redirectErrorStream(true);

Process proc = pb.start();


Já melhorou, porque abriu menos arquivos, porém ainda abriu muitos.
Eu queria que abrisse apenas um..


Tem como verificar se ele ja recebeu antes, se sim, quando aparecer outra requisiçao ele verificar que ja está na memória e executar só um?


7. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/10/2012 - 08:46h

Olá, tente debugar o seu programa, veja onde está o problema

Verifique as variáveis se estão passando apenas um arquivo

[]s


8. Re: Arquivo Externo (*.exe ) várias vezes [RESOLVIDO]

Carlos Bruno
cbcarlos7

(usa Linux Mint)

Enviado em 29/10/2012 - 15:50h

Ja resolvi...


Eu retirei a chamada do mouseclicked no metodo de pesquisa e coloquei no logo na inicialização,
ai deu certo.


Vlw pela ajuda






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts