
Abrir un Menu desde un JButton
Publicado por Omar (3 intervenciones) el 02/12/2015 23:56:44
Buenas tardes a todos, estoy empezando con esto de programar gráficamente en java con WindowBuilder en mi escuela, y me seria de gran ayuda que me puedan aclarar porque no me sale correctamente o en que tengo errores.
Tengo un pequeño programa donde muestra una ventana de iniciar sesion y al introducir el usuario y contraseña muestra una ventana JOptionPane que dice "Bienvenido al sistema", pero tambien deberia de abrir otra ventana JPanel con un menú y ese menú contiene mas JButtons para abrir otras ventanas con información.
Pero al introducir los datos el menú no abre, solamente muestra la bienvenida.
Coloque la parte del codigo con el JButton un poco mas separada de lo demas.
Este es el codigo del Menu:
Y este es el codigo de "datosUsuario"
Aunque no tengo problema con llamar a esta desde el JButton se los dejo aqui:
De antemano muchas gracias
Tengo un pequeño programa donde muestra una ventana de iniciar sesion y al introducir el usuario y contraseña muestra una ventana JOptionPane que dice "Bienvenido al sistema", pero tambien deberia de abrir otra ventana JPanel con un menú y ese menú contiene mas JButtons para abrir otras ventanas con información.
Pero al introducir los datos el menú no abre, solamente muestra la bienvenida.
Coloque la parte del codigo con el JButton un poco mas separada de lo demas.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import java.awt.BorderLayout;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import java.awt.GridBagLayout;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import java.awt.GridBagConstraints;
import javax.swing.JTextField;
import java.awt.Insets;
import javax.swing.JPasswordField;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.Font;
public class Contraseña extends JFrame {
private JPanel contentPane;
public static JTextField textUsuario;
private JLabel Contraseña;
public static JPasswordField textPass;
private JButton Salir;
private JButton Entrar;
public Contraseña() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
GridBagLayout gbl_contentPane = new GridBagLayout();
gbl_contentPane.columnWidths = new int[]{0, 0, 0, 0, 0};
gbl_contentPane.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0};
gbl_contentPane.columnWeights = new double[]{0.0, 0.0, 0.0, 1.0, Double.MIN_VALUE};
gbl_contentPane.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
contentPane.setLayout(gbl_contentPane);
JLabel lblUsuario = new JLabel("Usuario");
GridBagConstraints gbc_lblUsuario = new GridBagConstraints();
gbc_lblUsuario.insets = new Insets(0, 0, 5, 5);
gbc_lblUsuario.gridx = 1;
gbc_lblUsuario.gridy = 1;
contentPane.add(lblUsuario, gbc_lblUsuario);
textUsuario = new JTextField();
GridBagConstraints gbc_textUsuario = new GridBagConstraints();
gbc_textUsuario.insets = new Insets(0, 0, 5, 0);
gbc_textUsuario.anchor = GridBagConstraints.NORTH;
gbc_textUsuario.fill = GridBagConstraints.HORIZONTAL;
gbc_textUsuario.gridx = 3;
gbc_textUsuario.gridy = 1;
contentPane.add(textUsuario, gbc_textUsuario);
textUsuario.setColumns(10);
Contraseña = new JLabel("Contrase\u00F1a");
GridBagConstraints gbc_Contraseña = new GridBagConstraints();
gbc_Contraseña.insets = new Insets(0, 0, 5, 5);
gbc_Contraseña.gridx = 1;
gbc_Contraseña.gridy = 3;
contentPane.add(Contraseña, gbc_Contraseña);
textPass = new JPasswordField();
GridBagConstraints gbc_textPass = new GridBagConstraints();
gbc_textPass.insets = new Insets(0, 0, 5, 0);
gbc_textPass.fill = GridBagConstraints.HORIZONTAL;
gbc_textPass.gridx = 3;
gbc_textPass.gridy = 3;
contentPane.add(textPass, gbc_textPass);
Entrar = new JButton("Entrar");
Entrar.addActionListener(new ActionListener() {
Menu MENU = new Menu();
final datosUsuario DU = new datosUsuario();
public void actionPerformed(ActionEvent arg0) {
if (DU.probarPass()==1)
{
JOptionPane.showMessageDialog(null, "Bienvenido al sistema");
MENU.setVisible(true);
dispose();
}
else
{
JOptionPane.showMessageDialog(null, "Contraseña o usuario incorrecto");
}
}
});
GridBagConstraints gbc_Entrar = new GridBagConstraints();
gbc_Entrar.insets = new Insets(0, 0, 5, 0);
gbc_Entrar.gridx = 3;
gbc_Entrar.gridy = 5;
contentPane.add(Entrar, gbc_Entrar);
Salir = new JButton("Salir");
Salir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
GridBagConstraints gbc_Salir = new GridBagConstraints();
gbc_Salir.gridx = 3;
gbc_Salir.gridy = 7;
contentPane.add(Salir, gbc_Salir);
}
}
Este es el codigo del Menu:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import javax.swing.JPanel;
import java.awt.GridBagLayout;
import javax.swing.border.TitledBorder;
import javax.swing.JButton;
import java.awt.GridBagConstraints;
import java.awt.Insets;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class Menu extends JPanel {
/**
* Create the panel.
*/
public Menu() {
setBorder(new TitledBorder(null, "Menu", TitledBorder.CENTER, TitledBorder.TOP, null, null));
GridBagLayout gridBagLayout = new GridBagLayout();
gridBagLayout.columnWidths = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
gridBagLayout.rowHeights = new int[]{0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
gridBagLayout.columnWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
gridBagLayout.rowWeights = new double[]{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, Double.MIN_VALUE};
setLayout(gridBagLayout);
JButton Alumnos = new JButton("Alumnos");
GridBagConstraints gbc_Alumnos = new GridBagConstraints();
gbc_Alumnos.insets = new Insets(0, 0, 5, 5);
gbc_Alumnos.gridx = 2;
gbc_Alumnos.gridy = 1;
add(Alumnos, gbc_Alumnos);
JButton Docentes = new JButton("Docentes");
GridBagConstraints gbc_Docentes = new GridBagConstraints();
gbc_Docentes.insets = new Insets(0, 0, 5, 5);
gbc_Docentes.gridx = 6;
gbc_Docentes.gridy = 1;
add(Docentes, gbc_Docentes);
JButton Asignaturas = new JButton("Asignaturas");
GridBagConstraints gbc_Asignaturas = new GridBagConstraints();
gbc_Asignaturas.insets = new Insets(0, 0, 5, 5);
gbc_Asignaturas.gridx = 2;
gbc_Asignaturas.gridy = 3;
add(Asignaturas, gbc_Asignaturas);
JButton Especialidades = new JButton("Especialidades");
GridBagConstraints gbc_Especialidades = new GridBagConstraints();
gbc_Especialidades.insets = new Insets(0, 0, 5, 5);
gbc_Especialidades.gridx = 6;
gbc_Especialidades.gridy = 3;
add(Especialidades, gbc_Especialidades);
JButton Calificaciones = new JButton("Calificaciones");
GridBagConstraints gbc_Calificaciones = new GridBagConstraints();
gbc_Calificaciones.insets = new Insets(0, 0, 5, 5);
gbc_Calificaciones.gridx = 2;
gbc_Calificaciones.gridy = 5;
add(Calificaciones, gbc_Calificaciones);
JButton Horarios = new JButton("Horarios");
GridBagConstraints gbc_Horarios = new GridBagConstraints();
gbc_Horarios.insets = new Insets(0, 0, 5, 5);
gbc_Horarios.gridx = 6;
gbc_Horarios.gridy = 5;
add(Horarios, gbc_Horarios);
JButton Salida = new JButton("Salir");
Salida.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
System.exit(0);
}
});
GridBagConstraints gbc_Salida = new GridBagConstraints();
gbc_Salida.insets = new Insets(0, 0, 0, 5);
gbc_Salida.gridx = 4;
gbc_Salida.gridy = 8;
add(Salida, gbc_Salida);
}
}
Y este es el codigo de "datosUsuario"
Aunque no tengo problema con llamar a esta desde el JButton se los dejo aqui:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import javax.swing.JOptionPane;
public class datosUsuario {
public datosUsuario(){
}
String Usuario="", Pass="";
public int probarPass()
{
Usuario=Contraseña.textUsuario.getText();
Pass=Contraseña.textPass.getText();
if (Usuario.equals("OmarB")&&Pass.equals("OBL"))
{ return 1; }
else
{ return 2; }
}
}
De antemano muchas gracias
Valora esta pregunta


0