Abrir una ventana desde un botón en la ventana principal
Hola,
Quiero abrir una ventana desde un jMenuItem5MouseClicked() en la ventana principal, lo he intentando de varias maneras pero no lo consigo.
esta es la ventana que quiero abrir:
/** Creates new form UsuariosView */
public UsuariosView() {
initComponents();
}
/** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTable1 = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setName("Form"); // NOI18N
jScrollPane1.setName("jScrollPane1"); // NOI18N
jTable1.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null},
{null, null, null, null},
{null, null, null, null},
{null, null, null, null}
},
new String [] {
"Title 1", "Title 2", "Title 3", "Title 4"
}
));
jTable1.setName("jTable1"); // NOI18N
jScrollPane1.setViewportView(jTable1);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 375, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(13, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(13, Short.MAX_VALUE)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
pack();
}// </editor-fold>
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new AgentesView().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
// End of variables declaration
}
Agradecería cualquier ayuda.
Saludos
- Inicie sesión o regístrese para enviar comentarios
Intenta
en el evento del JmenuItem pon esto new UsuarioView().setVisible(true);
Gracias pero no va
Gracias Camiloleal,
pero no funciona, no encuentra setvisible(), y si lo fuerzo me marca error el NB.
También he intentado lo siguiente, no me marca error, pero tampoco me abre la ventana.
UsuariosView view = new UsuariosView();
view.setVisible(true);
}
Saludos
esto es lo que me dice NB
cuando pongo lo que me recomiendas
¿como se puede referenciar desde un contexto estático?
Haber
Yo no entiendo podrias ponerme el codigo donde la quieres mandar llamar por que como que mandar llamar una ventana esta muy facil y que no te salga vamos a haber ami me salio JFrame con un JTable.
Podrias poner donde lo quieres mandar llamar o abrir?
Saludos.
Jbutton actionPerformed
Bueno aqui te dejo un ejemplo:
button.setBounds(5, 30, 150, 20);
ventana.add(button); // Agrega el boton a la ventana.
button.addActionListener(this);
/*Evento*/
public void actionPerformed(ActionEvent arg0) {
if (button == arg0.getSource()){
Prueba windows = new Prueba("SEGUNDA VENTANA","Esta es la segunda ventana");
ventana.setBounds(50, 50, 300, 150);
}
}
Digiera Nopalin Sobres!
Saludos.
Sí es este: private void
Sí es este:
UsuariosView.setVisible(true);
}
es un evento mouseclick que hice desde la vista diseño de NB, y estoy intentando que al hacer clic abra la ventana.
Esto es dentro de la clase AppView.java, que es el JFrame (que se usa como ventana principal de la app) que crea NetBeans por defecto al crear un proyecto java desktop application.
Saludos y gracias.
Gracias pero creo que no me resuelve el problema
Ya tengo el botón, y la ventana en otra clase que hice desde la vista diseño (la que está arriba, en el primer hilo). Lo que quiero es llamar a esa ventana desde el MouseEvent de la ventana principal de la aplicación.
Me sale esto cuando pongo UsuariosView.setVisible(true)
¿Alguna idea?, no pido que pongan un ejemplo, si es posible una breve explicación de ese mensaje, estaría bueno (para saber que ocurre, lo que hago mal) .
Saludos
Haber prueba esto.
menuBar.add(fileMenu);
JMenuItem newMenuItem = new JMenuItem("Crear");
fileMenu.add(newMenuItem);
setJMenuBar(menuBar);
newMenuItem.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e)
{
UsuariosView lol=new UsuariosView();
lol.setVisible(true);
}
}
);
Saludos.
Si se fijan de donde extiende la clase UsuariosView
verán que extiende de FrameView(), y por lo que dice aquí
Todo esto nos indica lo siguiente:- Un JFrame debe ser la ventana principal de nuestra aplicación y sólo debe haber una.
- Las ventanas secundarias de nuestra aplicación deben ser JDialog.
Eso tampoco me vale
El código del menú lo genera NetBeans, no lo puedo modificar, solo tengo que hacer visible la ventana en este MouseEvent que generó NetBeans,
}
Todo lo demás está creado.
Son 2 formularios de interfaz gráfica de Swing, un formulario JFrame (padre) y otro JDialog (hijo). Y en el padre ya hay un botón con un MouseEvent , solo hay que mostrar el hijo, nada más.
Saludos
lol
Yo se que el Netbeans te genera el codigo pero quien dice que no lo puedes modificar? se puede modificar Si quieres quitas:
}
y pones
mostrarVentanaDos();
}
UsuariosView lol=new UsuariosView();
lol.setVisible(true);
lol.setLocationRelativeTo(this);
}
Saludos.
Sí señor
Ahora sí,
Gracias y saludos!
Problemas al abrir una ventana
Mi problema es que intento abrir una ventana dentro de un boton, ya lo habia hecho con otros 6 botones mas pero al 7 no me quizo salir
" ActionPerformed "; he intentado colocarle cualquier otro evento pero no me sive (ComponentAdded, WindowActivated, MouseClicked, etc)
:s no sé el por qué me comenzó a molestar y necesito de urgencia seguir con mi trabajo; ya le puse "jFjar.setVisible(true);
jFjar.setSize(400,250); " a las ventanas nuevas no se que hacer!!!! plss ayuda.
sería bueno que postearas el
sería bueno que postearas el código para poder saber en que esta fallando, por lo que entiendo es que tiene tu ventana principal (JFame supongo) en al cual tienes un panel en el cual hay un boton y tu quieres cuando presiones el boton se despliegue una nueva ventana (JInternalFrame), obviemente si tienes más de un boton tienes que diferenciar el origen del evento con el
event.getSource()
o alguna implementacion similar y dentro del bloque colocas la inicializacion del JInternalFrameJInternalFramen miventana = new JInternalFrame();
obvieamente le coloscas las dimensiones la visibilidad y la posicion donde quieres que aparescaIsis lo mejor seria que
Isis lo mejor seria que crearas un hilo nuevo pues este ya tiene su tiempo, no hagas comentarios innecesarios.
Cuando lo hagas se te podra ayudar de mejor manera.
Saludos.