Problemas con Swing
Publicado por Oscar (1 intervención) el 12/07/2006 01:25:03
Hola estoy realizando una aplicacion con swing el detalle es que estoy armando un menu en donde le pongo ciertas opciones y llamo a mi clase que tiene como objetivo generar una pantalla en donde el usuario carge algunos datos.
cuando pongo el metodo main en la clase que se llama y corro por separado
me muestra la ventana con las especificaciones pero cuando la llamo de la clase principal no me muestra nada .
este es el fragmento de la clase principal que ejecuta el menu que llama a la clase que no se muestra .
if (cmd.equals("Alta consulta")) {
PantallaConsultas c= new PantallaConsultas();
}
}
y a continuacion les muestro el codigo que muestra la pantalla solo corre por separado y no muestra nada cuando es invocada por la clase Principal
mport java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Date;
public class PantallaConsultas extends JPanel {
// declaracion de atributos
// Coneccion conn = new Coneccion();
JLabel LabNombre,LabApellidoPat, LabApellidoMat,LabPeso, LabEstatura, LabPresion,
LabSintomas, LabTratamiento,LabNumeroPac;
JTextField TextNom,
TextApellidoPat, TextApellidoMat,TextNumeroPac,
TextSexo;
JTextArea TextSintomas, TextTratamiento;
JScrollPane PanelSintomas, PanelTratamiento;
JButton BotonOK, BotonCancel;
JFrame frame;
String Nombre, NumeroPac ,Edad,Peso,Estatura,ApellidoPat
,ApellidoMat,Sexo,Signos,Sintoma,Tratamiento;
Statement stmt;
String Num_Cadena;
int num_paso, num_id = 0;
// constructor
PantallaConsultas(){
LabNumeroPac = new JLabel("Numero Paciente:");
LabNombre = new JLabel("Nombre:");
LabApellidoPat = new JLabel("Apellido Paterno:");
LabApellidoMat = new JLabel("Apellido Materno:");
TextNom = new JTextField(5);
TextApellidoPat = new JTextField();
TextApellidoMat = new JTextField();
TextNumeroPac = new JTextField();
TextTratamiento = new JTextArea();
TextSintomas = new JTextArea();
TextSintomas.setEditable(true);
PanelSintomas = new JScrollPane(TextSintomas);
PanelSintomas.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
PanelSintomas.setPreferredSize(new Dimension(250,250));
PanelSintomas.setEnabled(true);
TextNumeroPac.setEditable(false);
TextNumeroPac.setColumns(5);
BotonOK = new JButton("OK");
BotonCancel = new JButton("Cancelar");
JPanel Panel = new JPanel();
Panel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = c.BOTH;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 0;
Panel.add(LabNumeroPac,c);
c.gridwidth = 2;
c.gridx = 1;
c.gridy = 0;
Panel.add(TextNumeroPac,c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 1;
Panel.add(LabNombre,c);
c.gridwidth = 2;
c.gridx = 1;
c.gridy = 1;
Panel.add(TextNom,c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 2;
Panel.add(LabApellidoPat,c);
c.gridwidth = 2;
c.gridx = 1;
c.gridy = 2;
Panel.add(TextApellidoPat,c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 3;
Panel.add(LabApellidoMat,c);
c.gridwidth = 1;
c.gridx = 1;
c.gridy = 3;
Panel.add(TextApellidoMat,c);
c.gridwidth = 2;
c.gridheight = 3;
c.gridx = 1;
c.gridy = 5;
Panel.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Datos Paciente"),
BorderFactory.createEmptyBorder(5,5,5,5)));
JPanel Centro = new JPanel();
Centro.setLayout(new GridBagLayout());
GridBagConstraints y = new GridBagConstraints();
Centro.add(PanelSintomas,y);
y.gridwidth =1;
y.gridx = 0;
y.gridy = 16;
Centro.add(BotonOK,y);
y.gridwidth = 1;
y.gridx = 1;
y.gridy = 16;
Centro.add(BotonCancel,y);
Centro.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Diagnostico"),
BorderFactory.createEmptyBorder(5,5,5,5)));
setLayout(new BorderLayout());
add(Panel,BorderLayout.EAST);
add(Centro,BorderLayout.WEST);
}
public static void main (String [] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Modulo de Consultas");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new PantallaConsultas());
frame.setSize(800, 400);
frame.setLocation(200,100);
frame.setVisible(true);
frame.pack();
}
}
*****************
Cabe Mencionar que cuando corro por separado la clase PantallaConsultas si me muestra la pantalla con sus Panels y toda la cosa
alguien puede asesorarme con dicha situacion Saludos
cuando pongo el metodo main en la clase que se llama y corro por separado
me muestra la ventana con las especificaciones pero cuando la llamo de la clase principal no me muestra nada .
este es el fragmento de la clase principal que ejecuta el menu que llama a la clase que no se muestra .
if (cmd.equals("Alta consulta")) {
PantallaConsultas c= new PantallaConsultas();
}
}
y a continuacion les muestro el codigo que muestra la pantalla solo corre por separado y no muestra nada cuando es invocada por la clase Principal
mport java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
import java.util.Date;
public class PantallaConsultas extends JPanel {
// declaracion de atributos
// Coneccion conn = new Coneccion();
JLabel LabNombre,LabApellidoPat, LabApellidoMat,LabPeso, LabEstatura, LabPresion,
LabSintomas, LabTratamiento,LabNumeroPac;
JTextField TextNom,
TextApellidoPat, TextApellidoMat,TextNumeroPac,
TextSexo;
JTextArea TextSintomas, TextTratamiento;
JScrollPane PanelSintomas, PanelTratamiento;
JButton BotonOK, BotonCancel;
JFrame frame;
String Nombre, NumeroPac ,Edad,Peso,Estatura,ApellidoPat
,ApellidoMat,Sexo,Signos,Sintoma,Tratamiento;
Statement stmt;
String Num_Cadena;
int num_paso, num_id = 0;
// constructor
PantallaConsultas(){
LabNumeroPac = new JLabel("Numero Paciente:");
LabNombre = new JLabel("Nombre:");
LabApellidoPat = new JLabel("Apellido Paterno:");
LabApellidoMat = new JLabel("Apellido Materno:");
TextNom = new JTextField(5);
TextApellidoPat = new JTextField();
TextApellidoMat = new JTextField();
TextNumeroPac = new JTextField();
TextTratamiento = new JTextArea();
TextSintomas = new JTextArea();
TextSintomas.setEditable(true);
PanelSintomas = new JScrollPane(TextSintomas);
PanelSintomas.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
PanelSintomas.setPreferredSize(new Dimension(250,250));
PanelSintomas.setEnabled(true);
TextNumeroPac.setEditable(false);
TextNumeroPac.setColumns(5);
BotonOK = new JButton("OK");
BotonCancel = new JButton("Cancelar");
JPanel Panel = new JPanel();
Panel.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.fill = c.BOTH;
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 0;
Panel.add(LabNumeroPac,c);
c.gridwidth = 2;
c.gridx = 1;
c.gridy = 0;
Panel.add(TextNumeroPac,c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 1;
Panel.add(LabNombre,c);
c.gridwidth = 2;
c.gridx = 1;
c.gridy = 1;
Panel.add(TextNom,c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 2;
Panel.add(LabApellidoPat,c);
c.gridwidth = 2;
c.gridx = 1;
c.gridy = 2;
Panel.add(TextApellidoPat,c);
c.gridwidth = 1;
c.gridx = 0;
c.gridy = 3;
Panel.add(LabApellidoMat,c);
c.gridwidth = 1;
c.gridx = 1;
c.gridy = 3;
Panel.add(TextApellidoMat,c);
c.gridwidth = 2;
c.gridheight = 3;
c.gridx = 1;
c.gridy = 5;
Panel.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Datos Paciente"),
BorderFactory.createEmptyBorder(5,5,5,5)));
JPanel Centro = new JPanel();
Centro.setLayout(new GridBagLayout());
GridBagConstraints y = new GridBagConstraints();
Centro.add(PanelSintomas,y);
y.gridwidth =1;
y.gridx = 0;
y.gridy = 16;
Centro.add(BotonOK,y);
y.gridwidth = 1;
y.gridx = 1;
y.gridy = 16;
Centro.add(BotonCancel,y);
Centro.setBorder(
BorderFactory.createCompoundBorder(
BorderFactory.createTitledBorder("Diagnostico"),
BorderFactory.createEmptyBorder(5,5,5,5)));
setLayout(new BorderLayout());
add(Panel,BorderLayout.EAST);
add(Centro,BorderLayout.WEST);
}
public static void main (String [] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Modulo de Consultas");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setContentPane(new PantallaConsultas());
frame.setSize(800, 400);
frame.setLocation(200,100);
frame.setVisible(true);
frame.pack();
}
}
*****************
Cabe Mencionar que cuando corro por separado la clase PantallaConsultas si me muestra la pantalla con sus Panels y toda la cosa
alguien puede asesorarme con dicha situacion Saludos
Valora esta pregunta


0