Ventanas

Lo primero es lo primero, donde está .. la ventana. No nos podemos olvidar que Java es un lenguaje ideado para ser interplataforma. Esto quiere decir que las ventanas no pueden ser las ventanas de Gnome o de Kde. Sinó que son ventanas java que se adaptarán al entorno gráfico que haya en la máquina que ejecute el programa. Por eso Java tiene el paquete abstracto AWT que nos permite dibujar las ventanas ahí.

Por eso para hacer nuestra ventana grafica lo que hacemos es derivar de la clase Frame ya predefinida por nuestros queridos amigos de SUN y que es la que se encarga del trabajo sucio. Para que nosotros hagamos algo tan facil y sencillo como esto:

import java.awt.*;
import java.awt.event.*;
public class Gui2  extends Frame{
  public static void main(String[] args) {
	// TODO Auto-generated method stub
	Gui2  ventana = new Gui2();
	ventana.setSize(300,200);
	ventana.setTitle("Ventana");
	ventana.setVisible(true);
  }
}

pa'que veas! … Pero… no puedo cerrar esa ventana…. Bueeno… aqui va el código de como se hace para que puedas cerrar la ventana:

import java.awt.*;
import java.awt.event.*;
class oyente extends WindowAdapter{
 // los window adapeter son las cosas que se le pueden
 // añadir a la ventana
  Gui2 vp;
  public oyente(Gui2 ventanaPrincipal){
	  super(); // inicializo en constructor del padre
	  this.vp= ventanaPrincipal;
  }
  public void windowClosing(WindowEvent e){
	  vp.dispose();
	  System.exit(0); // salida con resultado 0 == sin errores
  }
}
public class Gui2  extends Frame{
  public Gui2(){
	super();
	addWindowListener(new oyente(this));
  }
  public static void main(String[] args) {
	// TODO Auto-generated method stub
	Gui2  ventana = new Gui2();
	ventana.setSize(300,200);
	ventana.setTitle("Ventana");
	ventana.setVisible(true);
  }
}

y… ahi va un poquito de todo… un boton, una etiqueta, un area de texto y ya.

import java.awt.*;
import java.awt.event.*;
class oyente extends WindowAdapter{
 // los window adapeter son las cosas que se le pueden
 // añadir a la ventana
  Gui2 vp;
  public oyente(Gui2 ventanaPrincipal){
	  super(); // inicializo en constructor del padre
	  this.vp= ventanaPrincipal;
  }
  public void windowClosing(WindowEvent e){
	  vp.dispose();
	  System.exit(0); // salida con resultado 0 == sin errores
  }
}
public class Gui2  extends Frame{
public Gui2(){
	super();
	addWindowListener(new oyente(this));
}
public static void main(String[] args) {
	// TODO Auto-generated method stub
	Gui2  ventana = new Gui2();
	ventana.setSize(300,200);
	ventana.setTitle("Ventana");
	Panel panel = new Panel();
	panel.setLayout(new GridLayout(1,5));
	Label et = new Label("etiqueta de panel");
	panel.add(et);
	Button boton = new Button("boton sud");
	panel.add(boton);
	TextField txt = new TextField("Nord: aqui es por escriure");
	ventana.add(txt, BorderLayout.NORTH);
	TextArea txta=new TextArea("Centre:\n tambe hi pots "+
      "escriure aquí...");
	ventana.add(txta, BorderLayout.CENTER);	
	Label etiqueta = new Label("Etiqueta");
	ventana.add(etiqueta, BorderLayout.WEST);
	ventana.add(panel, BorderLayout.SOUTH);
	ventana.setVisible(true);
	
}
}
 
java/40.txt · Última modificación: 2008/05/13 10:00 (editor externo)
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki