Ayuda con llamada a JInternalFrame
Hola a todos soy nuevo en este foro.
Y quisiera que me ayudaran. Sin rodeos les cuento mi problema...
Quiero llamar a un formulario JInternalFrame de otro JInternalFrame.
El codigo que utilice para ello es este:
En el Evento KeyPressed de un txt.
if (evt.getKeyCode()==KeyEvent.VK_F3) {
Principal prin = null;
try {
prin = new Principal(usuarioV);
} catch (IOException ex) {
Logger.getLogger(Ventas.class.getName()).log(Level.SEVERE, null, ex);
}
con_cli.toFront();
prin.Labelfondo.add(con_cli);
con_cli.setVisible(true);
this.llamada=true;
}
Quiero llamar a un Formulario de Consulta...
Y ya me he rompido la cabeza y lo hecho de varias maneras.
que a medida que me ayuden les iré comentando
Agradezco de ante mano la ayuda que me puedan brindar. Gracias
- Dario's blog
- Inicie sesión o regístrese para enviar comentarios
Comentarios
Llamar a un JInternalFrame de otro JInternalFrame
Para poderte ayudar sería bueno que nos escribieras que error te da y si utilizas algún IDE (ya que es más fácil...). Por el momento sólo te comparto un ejemplo muy sencillo, ojalá te sirva:
import java.awt.FlowLayout;
import javax.swing.JDesktopPane;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import java.awt.event.*;
public class PruebaInternalFrame
{
/** Instancia esta clase */
public static void main(String[] args) {
new PruebaInternalFrame();
}
// Se crea el JInternalFrame #1
JInternalFrame internal1 = new JInternalFrame("JInternalFrame #1");
// Se crea el JInternalFrame #2
JInternalFrame internal2 = new JInternalFrame("JInternalFrame #2");
public PruebaInternalFrame()
{
// Creamos un JFrame
JFrame v = new JFrame("Prueba JInternalFrame");
//Creamos un JDesktopPane
JDesktopPane dp = new JDesktopPane();
//Agregamos el JDesktopPane al JFrame
v.getContentPane().add(dp);
// Se construye el panel que ira dentro del JInternalFrame #1, dentro de éste un cuadro de texto
JPanel p1 = new JPanel();
//El Layout es la clase que decide cómo se reparten los controles
p1.setLayout(new FlowLayout());
// creamos un cuadro de texto
JTextField txt=new JTextField(10);
//agregamos el cuadro de texto al panel
p1.add (txt);
//Agregamos el KeyListener al cuadro de texto para poder utilizar la tecla F3 para llamar al JInternalFrame #2
txt.addKeyListener(kl);
//Agregamos el panel al JInternalFrame #1
internal1.add(p1);
// Le damos tamaño al JInternalFrame
internal1.setSize(480,450);
// Por defecto el JInternalFrame no es redimensionable ni tiene el botón de cerrar, si lo deseamos se lo ponemos
internal1.setResizable(true);
internal1.setClosable(true);
//Aquí lo referente al panel y JInternalFrame #2, ya explicado en el JInternalFrame #1
JPanel p2 = new JPanel();
p2.setLayout(new FlowLayout());
p2.add (new JLabel("Este es el JInternalFrame #2"));
internal2.add(p2);
internal2.setSize(480,450);
internal2.setResizable(true);
internal2.setClosable(true);
// El JInternalFrame #2 inicia oculto
internal2.setVisible(false);
// Agregamos los dos JInternalFrames en el mismo JDesktopPane
dp.add(internal1);
dp.add(internal2);
// Configuramos el JFrame
v.setSize(500,500);
v.setVisible(true);
v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
// Se muestra el JInternalFrame #1
internal1.setVisible(true);
}
//Declaración del KeyListener
KeyListener kl = new KeyListener() {
public void keyReleased(KeyEvent e) {
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode()==KeyEvent.VK_F3){
internal1.setVisible(false);
internal2.setVisible(true);
}
}
};
}