Escolar Documentos
Profissional Documentos
Cultura Documentos
More
Next Blog
Create Blog
Sign In
MI HORA
QUIEN SOY
aro
La primera distincin que debemos hacer entre las ventas que vamos a realizar es si las mismas son modales o no. Las modales son aquellas ventas que si o si deben tener una respuesta del usuario antes de continuar, como por ejemplo aquellas ventanas donde se nos pide que confirmemos si queremos guardar un archivo o no. Todas las dems ventanas son no modales. En estos pequeos tutriales, voy a desarrollar JFrames, IInternalFrames y JDialog En el caso de las JFrame las mismas son no modales.
Me gusta decir que soy un pibe de barrio al que le gusta la informtica, ir al cine cada vez que puede, jugar al ajedrez en familia y viajar, ya sea en avin o solo con letras! Ver mi perfil completo
FOTOS RECIENTES
w w w .flickr .com
1. JFrame
Para comenzar a crear un JFrame tenemos que crear una ventana que extienda la clase
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
JFrame e implemente la interfaz ActionListener que nos permitir captar los eventos de los usuarios sobre los componentes Swing que vamos a utilizar (el botn). public class FrameInicial extends JFrame implements ActionListener{ //variables globales en este caso Irn todos los componentes swing //Constructor de la case //Mtodos } Debemos recordar que siempre que implementemos la interfaz AL deberemos declarar el mtodo actionPerformed(AcrionEvente evento) El constructor de la clase tendr la forma: public FrameInicial() { try { metodoSiguiente();// aqu vamos a poner las propiedades y componentes this.centrar(); //mtodo mi para centrar /*confirmacion de salida*/ this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { confirmarSalida(); } }); this.setVisible(true);//hacemos visible el frame } catch (Exception e) { e.printStackTrace(); } }
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
El metodoSiguiente() es un mtodo que cree para ordenar todas las propiedades y los componentes que contendr nuestra ventana. Centrar() es un mtodo que nos permitir centrar la ventana de acuerdo a la resolucin que tenga nuestro monitor. Por defecto en java todas las ventanas aparecen en el extremo superior izquierdo. En cuanto a solicitar una confirmacin a la hora de salir lo primero que tenemos que indicar es que la ventana no va a realiza ninguna accin cuando se da el evento de cierre, si esto no se especifica, la ventana sale directamente sin realizar ninguna accin. Esto es en el caso en que tenemos un frame que es el principal de nuestra aplicacin y queremos pedirle al usuario que confirme la salida cuando hizo clic en la crucecita del frame. Lo hacemos con el metodo: setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE) confirmarSalida() ser el mtodo que pregunte si deseamos salir o no. Finalmente debemos hacer visible el frame con el mtodo setVisible(true).
C rea tu insignia
ETIQUETAS
Curiosidades (10) Diseo (8) Escritos (19) Java (12) Media (1) Otros (1) Politica y Actualidad (7) Vivencias (26)
ARCHIVO
1.1 METODOSIGUIENTE()
En este caso vamos a agregarle al frame una label y un botn para cerrar, a medida que vallamos avanzando en los distintos frames voy a ir agregando distintos componentes. Es una buena costumbre nombrar a los componentes de forma representativa. Por ejemplo las etiquetas pueden comenzar con lbl_nombre o los botones con btn_nombre, etc. Ya que cuando nuestra aplicacin crezca se puede hacer complicado si no tenemos nombre representativos. Otra aclaracin es que los componente ya fueron declarados e inicializados globalmente en la case. private void metodoSiguiente() throws Exception { this.getContentPane().setLayout( null );//la forma de organizar los componentes this.setSize(new Dimension(385, 300));//el tamao de la ventana this.setTitle("Hola Swing");//el titulo
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
2012 (1) 2011 (2) 2010 (4) 2009 (8) 2008 (7) 2007 (22) diciembre (1) noviembre (2)
pdfcrowd.com
btn_cerrar.setText("Cerrar");//el boton cerrar btn_cerrar.setBounds(new Rectangle(250, 220, 120, 25));//tamao del botn lbl_hola.setText("Hola Swing");//lo que la etiqueta dir lbl_hola.setBounds(new Rectangle(135, 80, 120, 35));//el tamao de la etiqueta lbl_hola.setToolTipText("texto emerguente");//texto mouse por arriba lbl_hola.setFont(new Font("Dialog", 1, 20));//la fuente de la etiqueta lbl_hola.setForeground(Color.red);//color de la etiqueta this.btn_cerrar.addActionListener(this);//para escuchar los eventos. this.getContentPane().add(lbl_hola, null);//pegar los components en el frame this.getContentPane().add(btn_cerrar, null); }
noviembre (2) septiembre (2) agosto (4) Ventanas en Java I: JFrame, propiedades, centrar, ... Iniciando Java I say a little prayer for you Gracias julio (5) abril (3) marzo (2) febrero (2) enero (1) 2006 (10) 2005 (27)
SUSCRIBIRSE A
El setLayout es la forma en la que organizamos los componentes dentro del frame, esto nos servir para cuando el frame cambie de tamao o se maximice los componentes mantengan un aspecto armnico. Es todo un tema los distintos tipos de layout que existen en java. El size o tamao del componente es importante a la hora de centrar el frame en la pantalla, ya que lo utilizaremos para calcular la ubicacin en la que debe estar. Se pasa como parmetro un objeto dimensin con los valores del (ancho, alto). El titulo (setTitle) es el texto que aparecer en la parte superior del frame, ademas cuando lo minimicemos aparecer en la barra de herramientas de Windows (o superior) En el caso del btn_cerrar le diremos cual ser el texto con contendr con setText, el tamao y la ubicacin con el mtodo setBounds que recibe como parmetro un objeto Rectangle con parmetros que indican las coordenadas y tamao. Los dos primeros son las coordenadas en x e y desde el margen superior izquierdo del frame, y los dos restantes son el tamao en ancho y alto. En cuanto a la etiqueta lbl_hola podemos definir que dir con setText, la ubicacin y tamao con setBounds, y lo que dira cuando pasemos con el Mouse por arriba con setToolTipText, esta misma propiedad puede ser aplicada a otro componentes swing para ir guiando al usuario. Adems de ello podemos indicarle cual sera la fuente que la etiqueta tendr con setFont que recibe como parmetro un objeto del tipo Font que
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
Entradas Comentarios
CONTADOR
pdfcrowd.com
indica (el nombre de la fuente, normal/negrita/itlica, tamao). Finalmente podemos indicarle el color que tendr el texto con setForeground que recibir como parmetro una constante que indique el color o un objeto Color con parmetros (R,G,B). componente.addActionListener(this) es el mtodo que permite agregar un oyente de eventos a un componente que tendremos dentro del frame. En este caso se lo agregaremos al botn de cerrar por que nos interesa saber cuando el usuario hace un clic en el. Decimos que el parmetro ser el frame que creamos por que ya hemos implementado la interfaz ActionListener en el frame si no tendramos que crearla como lo hicimos en el caso de la ventana. Bien ya hemos creado todos los componentes que el frame tendra, ahora tenemos que pegarlos en frame, si no, no sern visibles, esto los haremos con el mtodo add(componete), que tiene como parmetros ya sea el componente solo, o el componente con su correspondiente layout. Nota: a estas alturas, los que recin comienzan dirn es un kilombo total crear interfaces graficas en Java, pero no se asusten, los entornos de desarrollo tienen sus propias herramientas para crear esto arrastrando y soltando. Es ms! este ejemplo fue creado de esa forma. La finalidad es que sepamos que hace cada cosa.
A visitor from New ark, New Jersey view ed "Pensamientos, solo eso: Ventanas en Java I: JFrame, propiedades, centrar, confirmar al cerrar, eventos" 0 secs ago A visitor from Mexico view ed "Pensamientos, solo eso: Ventanas en Java I: JFrame, propiedades, centrar, confirmar al cerrar, eventos" 3 mins ago A visitor from Lim a left "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" via 1.bp.blogspot.com 8 mins ago A visitor from Zapopan, Jalisco view ed "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" 9 mins ago A visitor from Mosquera, Cundinam arca view ed "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" 17 mins ago A visitor from Lim a left "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" via 1.bp.blogspot.com 24 mins ago A visitor from Buenos Aires, Distrito Federal
pdfcrowd.com
toolkit por defecto y despus el resolucin de la pantalla. Despus el tamao que le dimo al frame con getSize() Y finalmente le indicamos la localizacin del frame en la pantalla con el mtodo setLocation(int x, int y)
Distrito Federal left "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" via 1.bp.blogspot.com 26 mins ago A visitor from Buenos Aires, Distrito Federal view ed "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" 26 mins ago A visitor from Buenos Aires, Distrito Federal left "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" via 1.bp.blogspot.com 26 mins ago A visitor from Buenos Aires, Distrito Federal view ed "Pensamientos, solo eso: UML Relaciones, Composicion, Agregacion, Asociacion, Dependencia, Generalizacion, Realizacion" 26 mins ago Real- time v iew Menu
DON'T GET HACKED! Protect your WordPress.org site now with Wordfence
WordPress Security
pdfcrowd.com
public void actionPerformed(ActionEvent e){ if(e.getSource()==this.btn_cerrar){ confirmarSalida(); } } Lo primero que realizamos dentro del mtodo es preguntar cual es la fuente del evento, esto lo hacemos en caso de que tengamos varios botones a los cuales le asignamos el oyente de eventos. Si la fuente del evento es el botn cerrar, llamamos el mtodo confirmar salida.
8 comentarios:
.`.[nTn 'MR].`. dijo... Caballero: excelente artculo, y muy atractivo a la vista su blog, necesito tomarme el tiempo para adentrar en el, me ha hechizado de alguna manera, camarada. Estoy batallando para hacer una especie de Jeopardy! en java, y
pdfcrowd.com
como nunca he programado mas que en C# y C++, si estoy sufriendo en esta incursin a tan genial lenguaje. Espero poder escribir pronto en su blog de nuevo. Suerte, y siga as. Besos! P.D. Por cierto, dese una vuelta x mi blog, le dejo el link http://tulinux.blogspot.com 10:24 p.m.
aro dijo... gracias viejo. Un abrazo y me doy una vuelta seguro 6:36 p.m.
diego dijo... hola, antom, la verdad muy bueno tu programacion, solo te quiero hacer una pregunta , yo eh probado tu programa pero tengo un problema con esta parte addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { confirmarSalida(); } }); me subraya WindowAdapter()re rojo . lo que pense es que no habias echo ese metodo por que me sale una ventanita chiquita no mas. 3:40 p.m.
sheba-jose dijo... oyes como le ago para que me aparesca una ventana que me inhabiliet la otra. Por ejemplo cuando habre una venta de abrir en cualquier programa la que esta atras se inhabilita o sea que no puedes hacer nada ahi hasta que no aceptes o open in browser PRO version Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
canceles esa ventana. Espero que me entiendas espero tu respuesta. Es sobre java 12:30 a.m.
aro dijo... lo que mencionas sheba es una ventana modal y esta explicada en alguno de los post. Saludos. 8:08 p.m.
Annimo dijo... camarada con respecto a lo siguiente no me funciona cuando le da cerrar con la boton cerrar de la ventana, el boton de la propia ventana que se encuentra en la parte superior derecha. xD addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent e) { confirmarSalida(); } }); si me muestra el mensaje pero aunque le diga que no se cierre, de todos modos lo hace; xD espero tu respuesta si fueras tan amable xD 12:56 a.m.
aro dijo... Ups! la verdad es que cuando este codigo fue escrito (hace mucho tiempo), se open in browser PRO version Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
probo y todo, dejame revisar un poco el codigo cuando tenga un tiempito... y si le encuentro al solucion, la posteo! abrazo 4:49 p.m.
manfarre dijo... marco.setDefaultCloseOperation(DISPOSE_ON_CLOSE); marco.addWindowListener(new WindowAdapter(){ public void cerrarmarco(WindowEvent e){System.exit(0);} }); nota marco es mi JFrame saludos ojala les sirva 10:22 p.m. Publicar un comentario
Entrada ms reciente
Pgina Principal
Entrada antigua
pdfcrowd.com