fazer um JFrame tremer [RESOLVIDO]

1. fazer um JFrame tremer [RESOLVIDO]

carlos junior
jhunior_b4

(usa Debian)

Enviado em 19/01/2012 - 18:47h

olá galera!

Bom estou criando uma aplicação java e nela possuo uma tela de login, gostaria de fazer ela tremer quando a senha fosse digitada errada.

Já tenho uma noção, sei q vou precisar de um laço de repetição, porém não sei como manipular o frame em questão para que ele faça o efeito tremer.

Quero fazer igual o login do ubuntu!! hehe

desde já agradeço ai a ajuda...


  


2. MELHOR RESPOSTA

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 21/01/2012 - 11:45h

chame esse metodo passando o jframe, na hora da falha de autenticação


public void shake (javax.swing.JFrame jframe){
try{
int originalX = jframe.getLocation().x;
int originalY = jframe.getLocation().y;
long sleepTime = 30;

for(int i =0; i <=2 ; i++){
jframe.setLocation(originalX + 5, originalY);
Thread.sleep(sleepTime);
jframe.setLocation(originalX+ 5, originalY +5);
Thread.sleep(sleepTime);
jframe.setLocation(originalX, originalY + 5);
Thread.sleep(sleepTime);
jframe.setLocation(originalX, originalY);
Thread.sleep(sleepTime);
jframe.setLocation(originalX - 5, originalY);
Thread.sleep(sleepTime);
jframe.setLocation(originalX - 5, originalY -5);
Thread.sleep(sleepTime);
jframe.setLocation(originalX, originalY - 5);
Thread.sleep(sleepTime);
}

jframe.setLocation(originalX, originalY);

} catch(Exception ex){
System.out.println(ex.toString());
}
}


3. Re: fazer um JFrame tremer [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 19/01/2012 - 20:56h

Acho que você consegue simular essa tremedeira, manipulando o posicionamento do Jframe na tela, faça um laço que mude rapidamente a posição do JFrame alguns pixels para os lados e pra cima e pra baixo.

Obs.: É uma dica, hoje quase não mecho com aplicações Desktop, fora shell + yad ;-), mecho mais com aplicações web


4. Re: fazer um JFrame tremer [RESOLVIDO]

carlos junior
jhunior_b4

(usa Debian)

Enviado em 20/01/2012 - 12:35h

então!!! tenho uma certa idéia disso.. li alguns tutos na rede porém todos voltados para web, sei como fazer o laço "acho" a minha dúvida mesmo é em como manipular o frame?

grato pela ajuda :D


5. Re: fazer um JFrame tremer [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 20/01/2012 - 14:01h

isso me lembra esse app que fiz em 2006
http://dl.dropbox.com/u/35106679/inutilitarios/BotaoDoido.jar
infelizmente o código já era.


o método que precisa usar é esse

ObjetoQueExtendeJFrame.setLocation(posX, posY);



6. Re: fazer um JFrame tremer [RESOLVIDO]

carlos junior
jhunior_b4

(usa Debian)

Enviado em 20/01/2012 - 15:04h

vlw cara vo tenta aqui depois posto o resultado!!!


7. Re: fazer um JFrame tremer [RESOLVIDO]

carlos junior
jhunior_b4

(usa Debian)

Enviado em 21/01/2012 - 02:34h

segue abaixo o codigo se possivel mostre-me como fazer esse frame tremer tentei a sugestao acima sem sucesso!!!


import java.sql.SQLException;
import javax.swing.JOptionPane;
import packageDAO.loginDAO;
import packageLogico.logicaLogin;

/* @author jhunior */

public class loginFrame extends javax.swing.JFrame {
int cont = 0;
public loginFrame() {
initComponents();
setLocationRelativeTo(null);
}

@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents(){

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
cont++;
String retorno = "";
loginDAO login1 = new loginDAO();


login1.setLogin(jTlogin.getText());
login1.setSenha(Long.valueOf(jTsenha.getText()));


try {
logicaLogin login2 = new logicaLogin();
login2.login(login1);
/*****neste ponto é onde adiciono os valores dos campos de texto à class loginDAO******/
/*******na linha abaixo pego o valor set retornado da consulta SQL*******/
retorno = String.valueOf(login1.getLog());
if(!"0".equals(retorno)){
System.out.println("funfou");//linha a ser alterada
}else{
if(cont < 3){
jTlogin.setText("");
jTsenha.setText(""); //desejo fazer a tremedeira neste ponto...****
JOptionPane.showMessageDialog(null, "tente novamente!!");
/*****aqui apenas apago os campos de taxto peço pro usuário tentar outra ves******/
}else{
JOptionPane.showMessageDialog(null, "programa encerrado por ecesso de erros");
System.exit(0);
/*******se o numero de tentativas for ecedido o programa se encerra altomaticamente*******/
}
}
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null, "erro "+ex);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "erro "+ex);
}
}

public static void main(String args[]) {

java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new loginFrame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JPanel jPanel1;
private javax.swing.JTextField jTlogin;
private javax.swing.JTextField jTsenha;
// End of variables declaration
}



8. Re: fazer um JFrame tremer [RESOLVIDO]

Adriano Moreira da Silva
adri3d

(usa Arch Linux)

Enviado em 21/01/2012 - 11:50h

aqui tem outro app muito inutil, que usa o setLocation em um jframe

http://dl.dropbox.com/u/35106679/inutilitarios/CuboDoido.jar



9. Re: fazer um JFrame tremer [RESOLVIDO]

carlos junior
jhunior_b4

(usa Debian)

Enviado em 22/01/2012 - 12:24h

cara vlw mesmo muito obrigado esse método funcionou certinho, agora posso dar procedencia ao meu projeto hehe