Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] No se ve en windows 7 o window 8, pero se ve en XP

Estas en el tema de No se ve en windows 7 o window 8, pero se ve en XP en el foro de Java en Foros del Web. Hola amigos, tengo el siguiente problema, tengo las siguientes clases Clase Alumnos Código: public class Alumno { //Atributos de un alumno// public String Nombre; public ...
  #1 (permalink)  
Antiguo 10/07/2014, 19:53
 
Fecha de Ingreso: marzo-2011
Ubicación: Oaxaca
Mensajes: 252
Antigüedad: 13 años, 1 mes
Puntos: 17
Exclamación No se ve en windows 7 o window 8, pero se ve en XP

Hola amigos, tengo el siguiente problema, tengo las siguientes clases
Clase Alumnos
Código:
public class Alumno {
//Atributos de un alumno//
public String Nombre;
public String NC;
public int Edad;
//Fin de los atributos//

//Metodo constructor sin parametros// 
    public Alumno() {
    }
//Fin del metodo constructro sin parametros//

//METODOS//

//DAR NOMBRE//
public void darNombre(String Nombre){
	this.Nombre=Nombre;
}

//DAR Numero de control//
public void darNC(String NC){
	this.NC=NC;
}
//DAR Edad//
public void darEdad(int Edad){
	this.Edad=Edad;
}
//VER NOMBRE//
public String verNombre(){
	return Nombre;
}
//VER NC//
public String verNC(){
	return NC;
}
//VER Edad//
public int verEdad(){
	return Edad;
}
}
Clase Reptil
Código:
public class Reptil {
//Atributos de un reptil//
public String Nombre;
public String Descripcion;
public String Tamanio;
//Fin de los Atributos

//Metodo Constructor con parametros//
//Usaremos 3 cadenas, la primera sera el Nombre, la 2da Descripcion y la ultima el tamanio//
    public Reptil(String Nombre, String Descripcion, String Tamanio) {
    	this.Nombre = Nombre;
    	this.Descripcion = Descripcion;
    	this.Tamanio = Tamanio;
    }
//Metodo para ver Nombre//
public String verNombre(){
	return Nombre;
}
//Metodo para ver Descripcion//
public String verDescripcion(){
	return Descripcion;
}
//Metodo para ver Tamanio//
 public String verTamanio(){
	return Tamanio;
}


}
y tengo una clase con un JFrame

Código:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ventana implements ActionListener {

//Dejamos indicado cuales seran nuestros botones//	
JButton btnVenAlu, btnVenRep, btnVenMenuA, btnVenMenuR, btnValAl, btnValRep;
//Dejamos indicado cuales seran nuestros Frames//
JFrame FAlumno, FReptil, inicio;
//creando variables globales para las etiquetas
JLabel EtiNomAl, EtiNCAl, EtiEdadAl, EtiNomRep, EtiDesRep, EtiTamRep;
//creando variables globales para los campos de texto
JTextField jtxNombreAl, jtxNCAl, jtxEdadAl, jtxNombreRep, jtxDesRep, jtxTamRep;
JTextArea jtxObjetosClases;


//Creamos un metodo constructor para la ventana//
	public ventana(){
	
	//Creamos la ventana del menu inicio//
		inicio = new JFrame();
		inicio.setLayout(new FlowLayout());//Configurar como se dispondra el espacio del jframe//
		inicio.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//finaliza el programa cuando se da click en la X        
        inicio.setResizable(false);//para configurar si se redimensiona la ventana
        inicio.setSize(400, 250);//configurando tamaño de la ventana (ancho, alto)
        inicio.setVisible(true);//configurando visualización de la venta
				
	//Creamos 3 botones, 1 para ir a la seccion de alumno, otro para ir a la seccion reptil y el ultimo para regresar al menu//
		btnVenAlu = new JButton("Alumno"); //Creamos un boton para crear objetos del tipo alumno//
		btnVenRep = new JButton("Reptil"); //Creamos un boton para crear Objetos del tipo Reptil//
		btnVenMenuA = new JButton("Regresar");//Creamos este boton para que regresemos al menu//
		btnVenMenuR = new JButton("Regresar");//Creamos este boton para que regresemos al menu//
		btnValAl =new JButton("Validar Alumno");//Creamos este boton para validar el alumno//
		btnValRep =new JButton("Validar Reptil");//Creamos este boton para validar el Reptil//
		 
	//Creamos los JtextArea//
		jtxObjetosClases= new JTextArea(10,30);                
	//Agregamos los 2 botones a la ventana//
		inicio.add(btnVenAlu); 
		inicio.add(btnVenRep);
		inicio.add(jtxObjetosClases);
		
	//Hacemos que los botones puedan escuchar//	
		btnVenAlu.addActionListener(this);
		btnVenRep.addActionListener(this);
		
	//los hacemos visibles//
		btnVenAlu.setVisible(true);
		btnVenRep.setVisible(true);
		
		btnVenMenuA.addActionListener(this);
		btnVenMenuR.addActionListener(this);
		btnValAl.addActionListener(this);
		btnValRep.addActionListener(this);
	//Fin de la ventana de Inicio//


	//Ventana del Formulario para alumnos//
		FAlumno = new JFrame();
		FAlumno.setLayout(new FlowLayout());//Configurar como se dispondra el espacio del jframe, si no se pone, los botones adquieren el setSize//
		FAlumno.setResizable(false);//para configurar si se redimensiona la ventana//
        FAlumno.setSize(400,500);
		FAlumno.setVisible(false);
		FAlumno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//finaliza el programa cuando se da click en la X//
	
		//Creamos las etiquetas de los Alumnos//
        EtiNomAl = new JLabel("Nombre del Alumno: ");
        EtiNCAl = new JLabel("Numero de Control: ");
        EtiEdadAl = new JLabel("Edad: ");
        
        //Creamos los JTextFielD de los Alumnos//
        jtxNombreAl = new JTextField(10);
        jtxNCAl = new JTextField(10);
        jtxEdadAl = new JTextField(2);
   //Agregamos los elementos a la ventana Alumno//
   FAlumno.add(EtiNomAl);
   FAlumno.add(jtxNombreAl);
   FAlumno.add(EtiNCAl);
   FAlumno.add(jtxNCAl);
   FAlumno.add(EtiEdadAl);
   FAlumno.add(jtxEdadAl);
   FAlumno.add(btnVenMenuA);
   FAlumno.add(btnValAl);
	  
		
		
	
	//Creamos la ventana del formulario Reptil//
		FReptil = new JFrame();
		FReptil.setLayout(new FlowLayout());//Configurar como se dispondra el espacio del jframe, si no se pone, los botones adquieren el setSize//
		FReptil.setResizable(false);//para configurar si se redimensiona la ventana//
        FReptil.setSize(500,500);
		FReptil.setVisible(false);
		FReptil.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//finaliza el programa cuando se da click en la X//
	//Creamos las etiquetas de los Alumnos//
        EtiNomRep = new JLabel("Nombre del Reptil: ");
        EtiDesRep = new JLabel("Descripcion: ");
        EtiTamRep = new JLabel("Tamaño del reptil: ");
        
        //Creamos los JTextFielD de los Alumnos//
        jtxNombreRep = new JTextField(10);
        jtxDesRep = new JTextField(10);
        jtxTamRep = new JTextField(10);
	//Agregamos los elementos a la ventana del Reptil//
		FReptil.add(EtiNomRep);
   		FReptil.add(jtxNombreRep);
   		FReptil.add(EtiDesRep);
   		FReptil.add(jtxDesRep);
   		FReptil.add(EtiTamRep);
   		FReptil.add(jtxTamRep);
   		FReptil.add(btnValRep);
   		FReptil.add(btnVenMenuR);
	
	}
   
    public static void main (String[] args)  {
		ventana ven = new ventana();
	}
 
 @Override
    public void actionPerformed(ActionEvent e) {//sobreescribimos el metodo del listener
 
        if(e.getActionCommand().equals("Alumno")){//podemos comparar por el contenido del boton
            inicio.setVisible(false);
            FAlumno.setVisible(true);
            
        }
        if(e.getSource()==btnVenRep){//podemos comparar por el nombre del objeto del boton
            inicio.setVisible(false);
            FReptil.setVisible(true);
        }  
        if(e.getSource()==btnVenMenuA){//podemos comparar por el nombre del objeto del boton
            FAlumno.setVisible(false);
            inicio.setVisible(true);
        }
        if(e.getSource()==btnVenMenuR){//podemos comparar por el nombre del objeto del boton
            FReptil.setVisible(false);
            inicio.setVisible(true);
        }
        if(e.getSource()==btnValAl){//podemos comparar por el nombre del objeto del boton
            //Funciones que se realizaran cuando el boton Validar alumno sea precionado//
            //Creamos un nuevo objeto del tipo Alumno//
            Alumno alumno = new Alumno();
            //creamos 3 variables del tipo cadena para recibir los parametros//
            String Nm, Nc;
            int Ed;
            //ahora les asignamos el valor adquirido de cada jtxfield//
            Nm = jtxNombreAl.getText();
            Nc = jtxNCAl.getText();
            Ed = Integer.parseInt(jtxEdadAl.getText());//cuidado, aqui aun no hago uso de excepciones//
            //Ahora usamos los metodos del alumno para adquirir sus valores//
            alumno.darEdad(Ed);
            alumno.darNombre(Nm);
            alumno.darNC(Nc);
            //Mostramos en consola por el momento los valores del objeto//
            jtxObjetosClases.setText( " El nombre del alumno es: " + alumno.verNombre()+ "\n El alumno tiene " + alumno.verEdad() + "Años \n Su Numero de Control es " + alumno.verNC());
            FAlumno.setVisible(false);
            inicio.setVisible(true);
        }
        if(e.getSource()==btnValRep){//podemos comparar por el nombre del objeto del boton
            //Funciones que se realizaran cuando el boton Validar Reptil sea precionado//
            //El metodo constructor del reptil, requiere 3 cadenas, si lo declaramos al igual que el alumno estara mal, asi que primero creamos las variables String para obtener el valor de los Jtxfield//
            String Nr, Ds, Tm;
            Nr = jtxNombreRep.getText();
            Ds = jtxDesRep.getText();
            Tm = jtxTamRep.getText();
            //Creamos el reptil con el constructor, (Nombre, Descripcion, Tamaño) en ese orden//
            Reptil reptil = new Reptil(Nr, Ds, Tm);
            //Ahora mostramos en el textArea los valores del objeto//
            jtxObjetosClases.setText( " El nombre del Reptil es: " + reptil.verNombre()+ "\n Descripcion " + reptil.verDescripcion() + "Años \n Su Tamaño es " + reptil.verTamanio());
            FReptil.setVisible(false);
            inicio.setVisible(true);
        }
  }
}
el detalle es que el programa corre perfectamente en XP, pero, en windows 7, y 8 solo se ve el Frame pero sin nada

¿a que cren que se deba esto?

Gracias y espero sus respuestas :)

PD: las pc`s si tienen instalado JAVA
  #2 (permalink)  
Antiguo 10/07/2014, 22:25
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: No se ve en windows 7 o window 8, pero se ve en XP

Hola,

Código:
 //Agregamos los elementos a la ventana del Reptil//
		FReptil.add(EtiNomRep);
   		FReptil.add(jtxNombreRep);
   		FReptil.add(EtiDesRep);
   		FReptil.add(jtxDesRep);
   		FReptil.add(EtiTamRep);
   		FReptil.add(jtxTamRep);
   		FReptil.add(btnValRep);
   		FReptil.add(btnVenMenuR);
	inicio.pack();
	}
Normalmente, primero creas una instancia del JFrame, después le agregas los componentes, posteriormente haces el Layout con pack(), después le asignas el tamaño y posiblemente la posición al Window, y por último lo haces visible.

Saludos,
  #3 (permalink)  
Antiguo 14/07/2014, 03:09
 
Fecha de Ingreso: marzo-2011
Ubicación: Oaxaca
Mensajes: 252
Antigüedad: 13 años, 1 mes
Puntos: 17
Respuesta: No se ve en windows 7 o window 8, pero se ve en XP

Gracias amigo por contestar,
nunca habia leido sobre el metodo pack()
voy a probarlo y a investigar un poco mas sobre ese metodo, Gracias por la respuesta :)

Etiquetas: visible
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:38.