Foros del Web » Programación para mayores de 30 ;) » Java »

¿¿como saber si esta aun presente??

Estas en el tema de ¿¿como saber si esta aun presente?? en el foro de Java en Foros del Web. Hola a todos: tengo otra aplicacion a la cual le he creado un acceso directo en el escritorio de windows, ahora, esta aplicacion cuando el ...
  #1 (permalink)  
Antiguo 03/11/2004, 11:50
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
Pregunta ¿¿como saber si esta aun presente??

Hola a todos:
tengo otra aplicacion a la cual le he creado un acceso directo en el escritorio de windows, ahora, esta aplicacion cuando el usuario la cierra solo desaparece (setVisible(false))... pero si el usuario hace clic en el acceso directo y la aplicacion esta aun viva, aparece una nueva pantalla lo cual no me conviene... ¿¿como implemento este algoritmo??
Código:
si (objeto_existe){
    objeto.show();

} sino {
    objeto o = new objeto();
}
El problema lo tengo en como saber, desde programacion, si aun esta vivo ese objeto... si lo esta solo lo muestro, sino, instancio la clase...

Muchas gracias de antemano, ojalá y puedan ayudarme
Éxitos
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #2 (permalink)  
Antiguo 03/11/2004, 12:50
Avatar de hugo777  
Fecha de Ingreso: enero-2002
Ubicación: Lima, Perú
Mensajes: 757
Antigüedad: 22 años, 3 meses
Puntos: 1
Hola, pues debería bastar con preguntar si el objeto es diferente de null, es decir:

if (obj != null) {
... //aun esta disponible
}
else {
... // no existe
}

Aunque, no se si esto te ayudará en tu caso ...
__________________
Saludos,

H@C..
  #3 (permalink)  
Antiguo 03/11/2004, 14:09
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
HOla hugo777... gracias por responder pero te cuento que no funcionó... lo que a mi se me ocurre es buscar un método (que hasta ahora no encuentro) que me permita quiza ver que objetos tiene la jvm y si entre ellos esta el objeto cuyo nombre es "obj" pues solo lo muestro... lo que tu me dices lo probé pero no funcionó...
Aqui les paso la estructura general del codigo:
Código:
/**
 * Clase cliente
 */
import javax.swing.*;
// el resto de imports

public class Cliente extends JFrame {
    // variables
    
    // Constructor
    public Cliente (){
        // creacion del frame
    }

    // otros metodos
    public metodo (){

    }

    // metodo principal
    public static void main (String[] args){
        // aqui vendria el algoritmo
        if (objeto_de_la_clase_Cliente == existe??){
            objeto_de_la_clase_Cliente.show();

        } else {
            Cliente app = new Cliente();
        }
    }
}
Bueno espero que me sigan ayudando y gracias nuevamente a todos...

Éxitos
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #4 (permalink)  
Antiguo 04/11/2004, 08:09
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Disculpa...
Pero que no es mucho mas facil y mejor que cuando el usuario la cierre esta aplicaicon efectivamente se cierre??
De ese modo si la habre denuevo de habre una nueva pero la anterior no existe, y ademas, es mejor que tener la aplicacion continuamente en memoria... que pasa si el usuario no la quiere usar mas?? siempre tendra que tenerla en memoria ocupandole espacio de procesamiento??

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #5 (permalink)  
Antiguo 04/11/2004, 15:12
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
hola Gonzalo, pues tienes razon pero lo que pasa es que esta es una aplicacion de mensajeria en una red lan, si el usuario recptor de mensaje (Cliente) cierra la aplicacion ya no podra recibir mensajes y eso es lo que no quiere la empresa que pase xq los anuncios que hacen deben ser recibidos por todos. Ahora si el usuario hace click en la X, la aplicacion solo desaparece... pero suponiendo que presiono la X y quiere él enviar un mensaje pues tiene en el escritorio un acceso directo para reiniciar la aplicación... cuando lo hace, se abre la aplicacion, envia el mensaje y la respuesta que le den aparece en dos pantallas... es ese el porque de mi pregunta... por lo demas tienes razon pero como dicen el cliente tiene la razon...

Muchas gracias Gonzalo por tus buenas respuestas y por tus ganas de ayudar siempre...
Saludos y éxitos para todos
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
  #6 (permalink)  
Antiguo 04/11/2004, 17:19
Avatar de goncafa  
Fecha de Ingreso: julio-2002
Ubicación: Santiago
Mensajes: 1.211
Antigüedad: 21 años, 10 meses
Puntos: 10
Una solucion muy rapida que se me viene a la mente es k guardes en un archivo de texto un 1 o un 0 dependiendo de si la aplicacion ya esta abierta o no, y segun leas ese archivo entonces puedes evr si creas una nueva instancia de el programa o solo lo vuelves a hacer visible.

Y muchas gracias por tus buenos comentarios asia mi

Saludos
__________________
se despide hasta la proxima
Gonzalo Castillo
  #7 (permalink)  
Antiguo 04/11/2004, 22:46
 
Fecha de Ingreso: noviembre-2004
Mensajes: 11
Antigüedad: 19 años, 5 meses
Puntos: 0
Hola, eso me suena al patron del singleton, puesto que solo quieres que solo una instancia de la clase este presente:

class Cliente {
private static Cliente instance;
public static Cliente getInstance() {
if(instance == null)
return (instance = new Cliente());
return instance;

}

pirvate Cliente() {
// CONSTRUCTOR privado (para asegurate que nadie lo pueda crear nuevas instancias ) :)
}
}


luego para ver el objeto solo tienes que referenciarlo como Cliente.getInstance()

ademas mientra el jvm este corrioendo y la clase cliente este siendo usada el objeto seguira vivo...

espero que te ayude
  #8 (permalink)  
Antiguo 05/11/2004, 07:32
 
Fecha de Ingreso: agosto-2003
Ubicación: Piura
Mensajes: 238
Antigüedad: 20 años, 9 meses
Puntos: 0
Pues amigos mios.. no puedo estar mas agradecido pues su soluciones, la del archivo con un binario, y la del patron singleton son muy buenas y me han servido mas que mucho... gracias de verdad a todos y sigamos adelante ayudándonos

Éxitos para todos... gracias
__________________
Un hombre inteligente, caminando, llega mucho mas rápido que un torpe en coche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:00.