You are on page 1of 5

Instituto superior tecnolgico pblico Carrera computacin e informtica

Uso de clases AWT


La Abstract Window Toolkit (AWT, en espaol Kit de Herramientas de Ventana Abstracta) es un kit de herramientas de grficos, interfaz de usuario, y sistema de ventanas independiente de la plataforma original de Java. AWT es ahora parte de las Java Foundation Classes (JFC) la API estndar para suministrar una interfaz grfica de usuario (GUI) para un programa Java. Cuando Sun Microsystems liber Java en 1995, AWT suministr solo un nivel de abstraccin muy fino sobre la interfaz de usuario nativa subyacente. Por ejemplo, crear una caja de verificacin AWT causara que AWT directamente llame a la subrutina nativa subyacente que cree una caja de verificacin. Sin embargo, una caja de verificacin en Microsoft Windows no es exactamente lo mismo que una caja de verificacin en Mac OS o en los distintos tipos de UNIX. Algunos desarrolladores de aplicaciones prefieren este modelo porque suministra un alto grado de fidelidad al kit de herramientas nativo subyacente y mejor integracin con las aplicaciones nativas. En otras palabras, un programa GUI escrito usando AWT parece como una aplicacin nativa Microsoft Windows cuando se ejecuta en Windows, pero el mismo programa parece una aplicacin nativa Apple Macintosh cuando se ejecuta en un Mac, etc. Sin embargo, algunos desarrolladores de aplicaciones desprecian este modelo porque prefieren que sus aplicaciones se vean exactamente igual en todas las plataformas. Desde sus inicios el entorno Java ya contaba con una biblioteca de componentes grficos conocida como AWT. Esta biblioteca estaba concebida como una API estandarizada que permita utilizar los componentes nativos de cada sistema operativo. Entonces una aplicacin Java corriendo en Microsoft Windows usara el botn estndar de Windows y una aplicacin corriendo en UNIX usara el botn estndar de Motif. En la prctica esta tecnologa no funcion: Al depender fuertemente de los componentes nativos del sistema operativo el programador AWT estaba confinado a un mnimo denominador comn entre ellos. Es decir que slo se disponen en AWT de las funcionalidades comunes en todos los sistemas operativos. El comportamiento de los controles vara mucho de sistema a sistema y se vuelve muy difcil construir aplicaciones portables. Fue por esto que el eslogan de Java "Escrbalo una vez, ejectelo en todos lados" fue parodiado como "Escrbalo una vez, prubelo en todos lados".

Instituto superior tecnolgico pblico Carrera computacin e informtica

En J2SE 1.2, los widgets de AWT fueron ampliamente superados por aquellos del kit de herramientas Swing. Adems de proveer un conjunto ms rico de widgets UI, Swing dibuja sus propios widgets (usando Java 2D para llamar a las subrutinas de bajo nivel en el subsistema de grficos local) en lugar de confiar en el mdulo de interfaz de usuario de alto nivel del sistema operativo. Swing suministra la opcin de usar un aspecto nativo o de plataforma cruzada para la aplicacin. AWT contina suministrando el ncleo del subsistema de eventos GUI y la interfaz entre el sistema de ventanas nativo y la aplicacin Java, suministrando la estructura que necesita Swing. Tambin suministra gestores de disposicin bsicos, un paquete de transferencia de datos para uso con el Bloc de notas y Arrastrar y Soltar, y la interface para los dispositivos de entrada tales como el ratn y el teclado.

Construya el siguiente formulario usando solo componentes de la clase AWT

Establezca las siguientes propiedades a cada control: Control Button1 Button2 Button3 Button4 Button5 TextField Propiedad / Ficha Label VariableName Label VariableName Label VariableName Label VariableName Label VariableName VariableName Valor Agregar btnagregar Eliminar btneliminar Seleccin Multiple btnmultiple Seleccin Simple btnsimple Salir Btnsalir txtNombre

Instituto superior tecnolgico pblico Carrera computacin e informtica


List Jframe text VariableName Title (vacio) Lstamigos USO DE CONTROL LISTA

A continuacin escriba el siguiente cdigo al interior de cada control

private void btnagregarActionPerformed(java.awt.event.ActionEvent evt) { if (evt.getSource().equals(btnagregar)) { String nombre=txtnombre.getText(); if(nombre.length()==0) txtnombre.setText("Ingrese Nombre"); else { lstamigos.add(nombre); txtnombre.setText(""); txtnombre.requestFocus(); } } } private void btneliminarActionPerformed(java.awt.event.ActionEvent evt) { if(evt.getSource().equals(btneliminar)) { if(lstamigos.isMultipleMode()) { int indices[]=lstamigos.getSelectedIndexes(); if (indices.length>0) { int items=lstamigos.getItemCount(); int indice=0; do{ while(lstamigos.isIndexSelected(indice)) { txtnombre.setText(lstamigos.getItem(indice)); lstamigos.remove(indice); items--; } indice++; } while(items>indice); } else txtnombre.setText("Falta Seleccionar"); } else { int indice=lstamigos.getSelectedIndex(); if (indice>0) { String nombre=lstamigos.getSelectedItem(); txtnombre.setText(nombre); lstamigos.remove(indice); } else txtnombre.setText("Falta seleccionar"); } } } private void btnsimpleActionPerformed(java.awt.event.ActionEvent evt) { if(evt.getSource().equals(btnsimple)) { btnmultiple.setEnabled(true);

Instituto superior tecnolgico pblico Carrera computacin e informtica


btnsimple.setEnabled(false); lstamigos.setMultipleMode(false); } } private void btnmultipleActionPerformed(java.awt.event.ActionEvent evt) { if(evt.getSource().equals(btnmultiple)) { btnmultiple.setEnabled(false); btnsimple.setEnabled(true); lstamigos.setMultipleMode(true); } } Gua de Laboratorio N 4 Proceda a construir el siguiente formulario, segn los controles que se especifican

Escriba el siguiente cdigo import javax.swing.*; public class forma1 extends javax.swing.JFrame {public forma1() {initComponents(); iniciar(); } private void iniciar() {this.setVisible(true); this.setLocation(200,200); this.setSize(442,502); } private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) { this.jTextField1.setText(""); this.jTextField2.setText("");

Instituto superior tecnolgico pblico Carrera computacin e informtica


this.jTextField3.setText(""); this.jTextArea1.setText(""); }

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) { int respuesta; respuesta=JOptionPane.showConfirmDialog(this,"Estas Seguro de Sistema",JOptionPane.YES_NO_OPTION); if (respuesta==JOptionPane.YES_OPTION) System.exit(0); } private void formWindowOpened(java.awt.event.WindowEvent evt) { // llenado del combobox this.jComboBox1.removeAllItems(); this.jComboBox1.addItem("Soltero"); this.jComboBox1.addItem("Casado"); this.jComboBox1.addItem("Divorciado"); this.jComboBox1.addItem("Viudo"); }

Terminar","Aviso

del

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)


{ String data=""; if (this.jTextField1.getText().equals("")) {JOptionPane.showMessageDialog(null,"Debe Ingresar Apellido Paterno:"); this.jTextField1.requestFocus(); return; } if (this.jTextField2.getText().equals("")) {JOptionPane.showMessageDialog(null,"Debe Ingresar Apellido Materno:"); this.jTextField2.requestFocus(); return; } if (this.jTextField3.getText().equals("")) {JOptionPane.showMessageDialog(null,"Debe Ingresar Nombre:"); this.jTextField3.requestFocus(); return; } data=this.jTextArea1.getText()+this.jTextField1.getText()+" "+this.jTextField2.getText()+" "+this.jTextField3.getText()+" "+this.jComboBox1.getSelectedItem(); if (this.jRadioButton1.isSelected()) data+=" Masculino"; else data+=" Femenino"; this.jTextArea1.setText(data+"\n"); }

You might also like