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

Ayuda: Nuevo en java Swing(JPanel&JFrame)

Estas en el tema de Ayuda: Nuevo en java Swing(JPanel&JFrame) en el foro de Java en Foros del Web. Hola, Os contaré un poco de que va mi aplicación. Después de ello que dudas tengo y colgaré codigo referente. Mi aplicación: Tengo 3 clases. ...
  #1 (permalink)  
Antiguo 20/08/2009, 12:41
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Ayuda: Nuevo en java Swing(JPanel&JFrame)

Hola,

Os contaré un poco de que va mi aplicación. Después de ello que dudas tengo y colgaré codigo referente.

Mi aplicación: Tengo 3 clases. Una que se encarga de leer desde fichero que llamaré clase IOSystem. Otra se encarga, mediante el fichero leido, de pintar figuras con colores que llamaré clase Panel. Y la ultima clase se encarga de crear la ventana principal, añadir barras de menus, recoger los listeners... que llamaré Principal.

Panel extiende la clase de java swing JPanel y Principal JFrame.

En Panel tengo el método sobreescrito paintComponent(Graphics g); que se supone que pinta lo que leyo del fichero y por ahora nada más.

En Principal esta el metodo main de mi aplicacion. Alli instancio una variable de mi clase Principal y configuro un par de paramertos.

Mi problema: El problema me surge cuando quiero redimensionar la ventana principal (clase Principal). Pasa que el contenido de dentro(clase Panel) se queda "fijo" por asi decir. Muevo la ventana principal pero nada cambia. Quiero que cuando redimensiono la ventana principal el contenido de dentro se ajuste al tamaño de dicha ventana principal.
Aqui muestro un codigo simplificado para que veais como lo hago.

Código:
/*
 * Panel.java
 *
 * Created on 23th May 2009, 18:16
 * Last modification: 23th May 2009, 18:16
 *
 */
import javax.swing.*;
import java.awt.*;

public class Panel extends JPanel//Problemas con canvas y menus desplegables.
{  
   public Panel() {}
   
   public void paintComponent(Graphics g)
   {
      super.paintComponent(g);
      g.setColor(Color.RED);
      g.fillRect(10,10,10,10);
   }
}

/*
 * Principal.java
 *
 * Created on 22th May 2009, 15:14
 * Last modification: 22th May 2009, 15:14
 *
 */
 
import java.io.File;
import javax.swing.filechooser.FileNameExtensionFilter;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
 
public class Principal extends JFrame implements ActionListener
{
  
   private static Panel tablero;
   private IOSystem io;
   //...Codigo
   
   public Klotski()
   {
      //leerArchivo();
      io = new IOSystem();
      io.leerFichero();
      dimensionesLeidas = io.leerDimensiones();
      listaMapa = io.leerMapa();
      nombreJuego = io.leerNombre();
      io.cerrarFichero();
      
      //Centramos ventana
      Toolkit kit = Toolkit.getDefaultToolkit();
      Dimension screenSize = kit.getScreenSize();
      int screenHeight = screenSize.height;
      int screenWidth = screenSize.width;
      setLocation(screenWidth / 4, screenHeight / 4);
      
      setLayout(new BorderLayout());    
      tablero = new Panel();
      add(tablero, BorderLayout.CENTER);
      setTitle(new String(nombreJuego));
      
      //Creamos barra de menus
      JMenuBar menuBar = new JMenuBar();
      //...Codigo
      setJMenuBar(menuBar);   
      
      addWindowListener(new WindowAdapter()
      {
         public void windowClosing(WindowEvent evento) 
         {
            //...Codigo
         }
      });       
   }   

   public void actionPerformed(ActionEvent evento)
   {
     //....Codigo
   }

   public static void main(String[] args) 
   {
      Principal ventanaPrinc = new Principal();
      ventanaPrinc.setDefaultCloseOperation(EXIT_ON_CLOSE);
      ventanaPrinc.pack();
      ventanaPrinc.setVisible(true);
   }
}
Espero que se haya entendido todo. En cualquier otro caso por favor no dudeis en preguntar para que os pueda esclarecer cualquier tipo de duda.
Gracias de antemano y pronto espero una respuesta.

Saludos Kao.
  #2 (permalink)  
Antiguo 22/08/2009, 09:27
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda: Nuevo en java Swing(JPanel&JFrame)

Nadie me da alguna solucion?
  #3 (permalink)  
Antiguo 22/08/2009, 09:43
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Ayuda: Nuevo en java Swing(JPanel&JFrame)

Te mandé un mensaje privado porque no me deja añadir links :$
  #4 (permalink)  
Antiguo 25/08/2009, 02:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 9
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Ayuda: Nuevo en java Swing(JPanel&JFrame)

Fight podrías enviarme a mi también el enlace? Muchas gracias.
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:51.