Como poder abrir un jFrame desde un objeto.

Disculpa la molestia en otra pregunta. Quisiera que me puedas ayudar, como puedo hacer que cuando le de dos veces clic izquierdo a un objeto en pantalla me abra su respectivo jFrame, espero me puedas ayudar.
- Y también como podría hacer que cuando ya haya abierto un jFrame, las variables que ingrese me lo almacene en el objeto que me permitió abrirlo. Para poder hacer mi pseudocodigo luego.
*

2 Respuestas

Respuesta
1
Pues para abrir cuando das doble click tiene que capturar el evento del mouse respectivamente el evento del click ya dentro de este llamas un método que pertenece a la clase que pasas como parámetro al evento creo que es evt. GetCLickCount algo así, y le das que si fueron dos click haga tal cosa en este caso abrir un JFrame, ahora con lo segundo pues lo más fácil usando variables staticas para hacer un como update de las variables y así lo tendría cualquier duda me puedes seguir preguntando.
Respuesta
1
Ok mira, como indiqué no tengo mi IDE cerca, estas computadoras no son propias pero puedo ayudarte de cierta manera no al 100% del tiempo. Pero hago lo que puedo.
Te voy a dar lógicamente el proceso para poder lograr eso.
Si recuerdas está el objeto seleccionado y debes de tomarlo muy en cuenta para el asunto del doble clic.
Entonces en el método mouseClicked debería haber algo como esto:
ObjetoDibujable antiguoObj = objetoSeleccionado; //esto tiene que ir antes de la instrucción del código que si mi memoria no me falla es objetoSeleccionado = objetoReferencia(); algo así
Después de esa instrucción donde asignas el nuevo objetoSeleccionado pones esto:
if (objetoSeleccionado == antiguoObj) && ( ! (objetoSeleccionado instanceof Conector) ) //Tienes que agregar a las condiciones todos los demás objetos donde haces clic y no debe aparecer el frame. Y debajo de esta condición muestras un JOptionPane.showInputDialog que debe ser lo más apropiado para una entrada de texto.
Para que el objeto muestre texto hay que modificar su método dibujar para que dibuje un String de acuerdo a las coordenadas.
Además, tendrías que agregar a la clase abstracta la variable String texto; junto con su método setTexto(String t) etc.. para agregárselo.
Espero haber sido claro y poder revisar nuevamente lo más pronto posible ésta página.
Hola amigo, en cualquier momento que entres por favor ayudame. Es muy urgente.
Gracias.
Hola amigo disculpa, hasta ahora esta la parte de cuando hacer un clic en un objeto ya dibujado en pantalla salgan los 6 cuadraditos de azul. Ahora el otro paso quisiera hacer cuando de doble clic en cualquier objeto (que sea diferente de conector, de cv, de ch, de chb, de Fin). ¿Cómo hacer para saber que di doble clic en el objeto para que me abra el frame?. Ayudame por favor.
public void mouseClicked(MouseEvent e)
    {
        objetoSeleccionado = objetoReferencia (e.getX(),e.getY());
        if(objetoSeleccionado instanceof Conector)
        {
            agregaAlConector((Conector) objetoSeleccionado);
            pincel = 0;
        }
        else if (objetoSeleccionado != null &&
                ! (objetoSeleccionado instanceof Fin) &&
            (!(objetoSeleccionado instanceof Decision)) &&
            (!(objetoSeleccionado instanceof ConectorVertical))&&
            (!(objetoSeleccionado instanceof ConectorHorizontal)) &&
            (!(objetoSeleccionado instanceof ConectorHorizontalBase)) &&
            !(objetoSeleccionado.getSubordinado() instanceof ConectorVertical))
        {
            agregaAlConector((Conector) objetoSeleccionado.getSubordinado());
            pincel = 0;
        }
        else if(objetoSeleccionado != null &&  objetoSeleccionado.getSubordinado() instanceof ConectorVertical && pincel != 0)
        {
            procesarObjetoDecision(objetoSeleccionado);
            pincel = 0;
          }
        if(objetoSeleccionado != null)
            System.out.println(objetoSeleccionado.getHeight());
        revisenDecisiones();
        repaint();
    }
Gracias.
Hola amigo disculpa estuve tratando de usar mis jFrame y no me quedo de otra que crearlas en el árbol principal. Donde por ejemplo cree jF_02_Asignacion, y luego en mi clase Lienzo cree una variable global así:
jF_02_Asignacion a = new jF_02_Asignacion();
Seguidamente en el evento mouseClicked puse esto:
public void mouseClicked(MouseEvent e)
    {
        int count = e.getClickCount();
        if(count == 2) //si se pulso dos veces
        {
            if(objetoSeleccionado instanceof Asignacion)
            {
              this.a.setVisible(true);
              this.a.setAlwaysOnTop(true); //SIEMPRE VISIBLE.
            }
    }
- Hasta ahí ya puedo abrir mi jFrame amigo, disculpa quisiera que me ayudes como puedo hacer para que se puedan almacenar las variables que ingrese dentro de por ejemplo: La Asignación, que consta de 6 textField, como se muestra en esta imagen:

- Amigo quisiera saber como poder hacer que esas variables se almacene en ese objeto y que a la vez se visualice en la pantalla. (Me estuviste comentando que use static, pero no se como seria).
* OJO: En el verdadero programa DFD, asi actua lo que deseo realizar.
1. Escribe las variables, en cada textField.

2. Luego le damos clic en Aceptar y seguidamente se puede visualizar en pantalla lo que escribiste en los jTextField.

Espero tu ayuda amigo, gracias.
Voy a responderte sólo en caso de la asignación. Deberás tratar de aplicar esto pero para los otros, atendiendo las diferencias. Esto es porque no sé cuando podré revisar nuevamente esta página.
Se necesita hacer lo siguiente:
Modificar la clase Asignación, la cual deberá tener:
Variables:
private String t1, t2, t3, t4, t5, t6;
Métodos:
////
Mira, se me ha acabado el tiempo en esta máquina. Sin embargo espero volver pronto y si no puedo te hago un resumen: tendrás que poner métodos para obtener las variables pidiendo el texto de las JTextField. El método paint debe dibujar las string de t1, t2, t3 etc. con las coordenadas apropiadas. Y esto implica cambios tanto en la clase Asignación como la de los JFrames.
Hola amigo, disculpa ya me queda pocos días para este proyecto y hasta ahora no puedo almacenar los datos que ingrese en cada objeto.Por favor ayudame. Con un objeto, y yo lo hago para los demás por favor. Gracias.
Hola amigo, disculpa se que estas de vacaciones. Pero no podrías ayudarme de esta manera: Ingresando a una pc que tu puedas donde puedas instalar el TeamViewer_Setup_es para que tu de aya puedas usar mi pc, y me puedas ayudar en lo que me falta. Por favor ayudame, dime si hoy puedes amigo, estoy preocupado. Espero me entiendas.
Amigo, ¿cómo poder hacer para traes el texto de un jFrame a la clase Asignación para poder dibujarlo?. Respóndeme por favor.
Disculpa por tantas preguntas, quisiera saber como enviar el texto de cada jTextFiel de mi jFrame a la clase Asignación, sabiendo que de la clase Lienzo en el switch pincel le envío tanto los valores de por y de y al constructor de la clase Asignación.
- Aquí viene mi duda, como hacer que del jFrame envíe los textos a Asignación, ¿si su constructor ya esta siendo usado?
Voy a conectarme el MSN ahora mismo. Usaré ese programa que dices pero conéctate si puedes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas