Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Mr.Blue en 12 Febrero 2012, 00:14 am



Título: Menu swing, Como lo hacerlo
Publicado por: Mr.Blue en 12 Febrero 2012, 00:14 am
Hola tengo una consulta.

Necesito hacer el menu para la navegar en mi aplicacion de escritorio.
Estoy trabajando con capas y en la capa de la vista tengo un par de .java que son los formularios, cada uno de estos formularios tiene el menu.

De que manera puedo hacer para navegar entre las vistas?

Entiendo por un lado, de que una de las dos vistas tendria que iniciar(no puedo iniciar las dos al mismo tiempo) Por lo tanto una de estas es mi vista principal.

Para acceder a la otra vista como como tendria que hacer?

Se me ocurre que por ahi tendria que crear una nueva vista vacia con el menu, y a las otras dos vistas sacarle el menu (No me sirven ahi).
Y desde este menu vacio traer el formulario y cargarlo a esta vista vacia, de esta manera puedo variar los formularios en una sola vista.

Pero no sabria como hacerlo ya que mis dos vistas estan como seteadas para correr
con el ico este. (http://netbeans.org/images_www/articles/68/web/mysql-webapp/run-project-btn.png)
Esto lo digo por lo que dije antes de (no puedo iniciar las dos al mismo tiempo). :laugh:

Bueno creo que se entiende.
Espero sus respuestas =D saludos.








Título: Re: Menu swing, Como lo hacerlo
Publicado por: sapito169 en 13 Febrero 2012, 02:13 am
-Si dejaras de pensar en java en función al ide y leyeras absolutamente todo el código que creas todos tus problemas se resolverían mágicamente y nunca más volverías a postear

El método mas fácil (puedo escribir 10 hojas solo de este tema pero nadie lo leería y no me entenderías)

1 debes tener un único formulario con que herede de JFrame a partir de ahora llamado principal

2 el resto de tus ventanas deben heredar de JDialog

4 Dentro el formulario principal creas bariables globales para todos tus formularios globales

3 le pones un jmenuBar en tu formulario principal y cada JmenuIten muestras un formulario auxiliar con este codigo
Código:
if (frmPersonal == null) {
frmPersonal = new FrmPersonal(this, true);
}
frmPersonal.setVisible(true);


ejemplo de fromulario principal



Código:
package org.springhispano.screancast01;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JToolBar;
import javax.swing.JButton;
import java.awt.FlowLayout;
import javax.swing.AbstractAction;
import java.awt.event.ActionEvent;
import javax.swing.Action;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import java.awt.event.ActionListener;

public class FrmPrincipal extends JFrame {

FrmPersonal frmPersonal;

public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
FrmPrincipal frame = new FrmPrincipal();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

public FrmPrincipal() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);

JMenuBar barPrincipal = new JMenuBar();
setJMenuBar(barPrincipal);

JMenu mnuRecursosHumanos = new JMenu("Recursos Humanos");
barPrincipal.add(mnuRecursosHumanos);

JMenu mnuPersonal = new JMenu("Personal");
mnuRecursosHumanos.add(mnuPersonal);

JMenuItem mnuRegistro = new JMenuItem("registro");
mnuRegistro.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
mnuRegistro_actionPerformed(e);
}

});
mnuPersonal.add(mnuRegistro);
JPanel contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(new BorderLayout(0, 0));

JPanel panel = new JPanel();
contentPane.add(panel, BorderLayout.EAST);

JPanel panel_2 = new JPanel();
contentPane.add(panel_2, BorderLayout.WEST);

JPanel panel_3 = new JPanel();
contentPane.add(panel_3, BorderLayout.CENTER);

JPanel panel_4 = new JPanel();
contentPane.add(panel_4, BorderLayout.SOUTH);
}

private void mnuRegistro_actionPerformed(ActionEvent e) {
if (frmPersonal == null) {
frmPersonal = new FrmPersonal(this, true);
}
frmPersonal.setVisible(true);
}

}

Código:

package org.springhispano.screancast01;

import java.awt.BorderLayout;

public class FrmPersonal extends JDialog {

private final JPanel contentPanel = new JPanel();

/**
* Launch the application.
*/
public static void main(String[] args) {
try {
FrmPersonal dialog = new FrmPersonal(null,false);
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
dialog.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* Create the dialog.
*/
public FrmPersonal(Frame owner, boolean modal) {
super(owner, modal);
setTitle("Personal");
setBounds(100, 100, 450, 300);
getContentPane().setLayout(new BorderLayout());
contentPanel.setLayout(new FlowLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
}

}



Título: Re: Menu swing, Como lo hacerlo
Publicado por: sapito169 en 13 Febrero 2012, 02:20 am
porfavor respondeme aunque sea respuesta troll pero no me dejes solo si no me deprimo


Título: Re: Menu swing, Como lo hacerlo
Publicado por: MauroMasciar en 13 Febrero 2012, 05:20 am
porfavor respondeme aunque sea respuesta troll pero no me dejes solo si no me deprimo

O_O
 :huh:


Título: Re: Menu swing, Como lo hacerlo
Publicado por: RyogiShiki en 13 Febrero 2012, 05:35 am
porfavor respondeme aunque sea respuesta troll pero no me dejes solo si no me deprimo

O_O
 :huh:

Concuerdo con sapito169, suele ser frustrante no recibir respuesta después de tomarse el tiempo de elaborar una respuesta de calidad, además de quedarse con la intriga del haber o no funcionado, saber que errores se pudieron encontrar en la solución que se provee y más importante mejorar aun más la solución.

Saludos


Título: Re: Menu swing, Como lo hacerlo
Publicado por: MauroMasciar en 13 Febrero 2012, 07:20 am
Citar
Respuesta #1 en: Ayer a las 22:13:40 »

Citar
« Respuesta #2 en: Ayer a las 22:20:48 »

Estaba ansioso en saber si funciono...  :silbar:


Título: Re: Menu swing, Como lo hacerlo
Publicado por: Mr.Blue en 19 Febrero 2012, 00:05 am
Gracias por la respuesta, voy a probar lo que me dijistes.