estou fazendo uma gambiarra aqui, nao apareceu rro mais não funcinou
vamos as partes
fiz o observer, ao entrar no frame ele pega o IP do usuario e salva no banco de dados
legal deu certo fiz assim
InetAddress addr = null;
try {
addr = InetAddress.getLocalHost();
} catch (UnknownHostException ex) {
Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex);
}
byte[] ip = addr.getAddress();
String sql = "UPDATE usuarios SET conectado = '"+ip+"' WHERE usuario = '"+login+"'";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/teste", "root", "");
System.out.println("A conexão foi um sucesso\n");
Statement stm = conn.createStatement();
if(user.equals(login)){
if(pass.equals(senha)){
if(connected.equals("false")){
stm.executeUpdate(sql);
[color=red] new canal(login);[/color]
setTitle(login);
JOptionPane.showMessageDialog(null, "login com sucesso");
new gerenciador().setVisible(true);
this.setVisible(false);
}
fez o update se entrou certinho chama o metodo canal e envia o login
o metodo canal faz isso
public canal(String login) {
this.login = login;
executaProcesso();
}
e o executaprocesso inicia a thread ....... atalhando já na thread no run()
Connection conn = null;
try {
InetAddress addr = InetAddress.getLocalHost();
ipAddr = addr.getAddress();
} catch (UnknownHostException ex) {
Logger.getLogger(canal.class.getName()).log(Level.SEVERE, null, ex);
}
String teste = "select conectado FROM usuarios WHERE usuario= "+login+"'";
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/spiido", "root", "");
System.out.println("A conexão foi um sucesso\n");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(teste);
while (rs.next()) {
if( !teste.equals(ipAddr.toString())){
notifyObservers();
setChanged();
}
ele procura o ip se o ip for diferente ele avisa o observador que por sua vez
public void update(Observable o, Object arg){
new gerenciador().dispose();
new login().dispose();
}
mas não ta funcionando o que ta errado?
OBS:. ai no codigo o ip ta getAdress mas da errado o comando certo é getHostAddress mas a duvida ainda em questão nao continua a funcionar