Docswing PDF

December 29, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Docswing PDF...

Description

 

Ejemplo de la Clase Persona

 public class Persona {

// Declaración de atributos private String nombre; private int edad;

// Constructor public Persona(String nombre, int edad) { this.nombre = nombre; this.edad = edad; }

// Definición de métodos public String getNombre () { return nombre; } public int getEdad () { }

return edad;

public boolean equals (Object o) { Persona p = (Persona) o; if((nombre.equals(p.getNombre())) && (edad == p.getEdad())) return true; else return false; } public String toString () { return ("Nombre: " + nombre + "; }

Edad: " + edad);

}

Documento realizado por la alumna Marta Galán

 

Ejemplo de Ventana Gráfica en Swing (Gestión de Eventos) import import import import import

javax.swing.JFrame; javax.swing.JButton; javax.swing.JLabel; javax.swing.JPanel; javax.swing.JTextField;

import java.awt.Color; import import import import import

java.awt.Font; java.awt.GridLayout; java.awt.BorderLayout; java.awt.FlowLayout; java.awt.Container;

import import import import import import import import

java.awt.event.WindowAdapter; java.awt.event.WindowListener; java.awt.event.WindowEvent; java.awt.event.KeyAdapter; java.awt.event.KeyEvent; java.awt.event.KeyListener; java.awt.event.ActionListener; java.awt.event.ActionEvent;

import java.util.ArrayList;

 public class Ventana extends JFrame  {

// Declaración de variables private private private private

JTextField txtNombre; JTextField txtEdad; JButton btnGuardar; JButton btnSalir;

private ArrayList ar = new ArrayList();

// Definición del método main public static void main (String s[]) { new Ventana ("Ejemplo Examen"); }

Los components no se agregan directamente con add( ), se agregan a un container virtual  

// Constructor public Ventana (String titulo) {

Container c = this.getContentPane(); c.setLayout(new BorderLayout()); JLabel lblTitulo = new JLabel("Ejemplo de Ventana");

lblTitulo.setFont(new Font("Arial", Font.BOLD, 14)); c.add(lblTitulo, BorderLayout.NORTH);

Podemos modificar la fuente de los objetos de texto tanto en las etiquetas como en las cajas de texto

JLabel lblNombre = new JLabel("Nombre: "); txtNombre = new JTextField (10);

txtNombre.addKeyListener (new KeyAdapter() {  public void keyPressed (KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_ENTER) txtEdad.requestFocus();

Gestionamos el evento de esta caja de texto. En este caso caso hacemos que cuando se pulse ENTER el foco avance a la siguiente caja de texto.

} }); JLabel lblEdad = new JLabel("Edad: ");

Documento realizado por la alumna Marta Galán

 

txtEdad = new JTextField (10);

txtEdad.setBackground (Color.BLACK); txtEdad.setForeground (Color.YELLOW); txtEdad.setHorizontalAlignment(JTextField.CENTER);

También podemos cambiar el color de fondo de la caja de texto así como el color del texto que en ella escribamos. Si queremos también podemos hacer que el texto quede centrado o justificado a izquierda o derecha. En este caso caso quedaría de la siguiente forma:

15

txtEdad.addKeyListener (new KeyAdapter() {  public void keyPressed (KeyEvent e) { if(e.getKeyCode() == KeyEvent.VK_ENTER) {

Al pulsar ENTER podemos realizar cualquiera de las siguientes acciones (teniendo en cuenta que se trata de la última caja de texto lo lógico es que al pulsar ENTER sobre la caja de texto el resultado se el mismo que el que obtendríamos al pulsar el botón GUARDAR):

// Almacenar la ocurrencia creada en un ArrayList Para ello recogemos el contenido de las cajas de texto: String nombre = txtNombre.getText();  int edad = Integer.parseInt(txtEdad.getText()); ar.add(new Persona(nombre, edad));

// Limpiamos las cajas de texto txtNombre.setText("");  txtEdad.setText("");

// Asignamos el foco a la primera caja de texto txtNombre.requestFocus();

} } }); JPanel pnlCentro = new JPanel();  pnlCentro.setLayout(new GridLayout(2,2)); pnlCentro.add (lblNombre); pnlCentro.add (txtNombre); pnlCentro.add (lblEdad); pnlCentro.add (txtEdad); c.add (pnlCentro, BorderLayout.CENTER);

Creamos un Panel en el que añadiremos todos los componentes creados hasta ahora

btnGuardar = new JButton("Guardar el objeto");

 btnGuardar.addActionListener (new ActionListener() {  public void actionPerformed (ActionEvent e) { // Almacenamos la ocurrencia creada en un ArrayList . . . // Limpiamos las cajas de texto . . . // Asignamos el foco a la primera caja de texto . . .

} }); btnSalir = new JButton ("Salir de la Aplicación");

 btnSalir.addActionListener (new ActionListener() {  public void actionPerformed (ActionEvent e) { Ventana.this.dispose(); System.exit(0);

Al pinchar sobre le botón “Salir ” finalizará la aplicación y cerraremos la ventana

} });

Documento realizado por la alumna Marta Galán

 

JPanel pnlSur = new JPanel(); pnlSur.setLayout (new FlowLayout()); pnlSur.add (btnGuardar); pnlSur.add (btnSalir); c.add (pnlSur, BorderLayout.SOUTH);

this.setTitle(titulo) ; this.setResizable(false); this.pack(); this.setVisible(true); this.addWindowListener(new WindowAdapter() {  public void windowClosing (WindowEvent e) { // Finalizamos la aplicación Ventana.this.dispose(); System.exit(0);

} }); }

Ejemplo de Ventana Gráfica utilizando utilizando Applet (Gestión de Eventos) import javax.swing.JApplet; import javax.swing.JButton; import javax.swing.JLabel; import import javax.swing.JPanel; javax.swing.JTextField; import import import import import import

java.awt.Color; java.awt.Font; java.awt.GridLayout; java.awt.BorderLayout; java.awt.FlowLayout; java.awt.Container;

import import import import import

java.awt.event.KeyAdapter; java.awt.event.KeyEvent; java.awt.event.KeyListener; java.awt.event.ActionListener; java.awt.event.ActionEvent;

 public class Ventana extends JApplet { // Declaración de variables private private private private

JTextField txtNombre; JTextField txtEdad; JButton btnGuardar; JButton btnSalir;

 public void init() {

Cuando trabajamos Applets el método método main (String []) pasa a trabajamos con Applets ser ahora el método init ( ). Las clases y constructores deberán deberán ser públicas. El tamaño del frame frame se asigna ahora a través de la página HTML. Por este motivo desaparecen desaparecen los métodos de asignación de tamaño (setSize( )) o ajuste (pack( )).

Container c = this.getContentPane(); c.setLayout(new BorderLayout()); A partir de aquí el diseño de la ventana sería igual que antes. Sin embargo, tenemos que tener en cuenta una novedad:   Un applet puede recibir parámetros a través de la etiqueta .   El método getParameter(String parametro) es el encargado de recoger estos parámetros.   getParameter(St getParameter(String ring parametro) devuelve como resultado una cadena de caracteres. Un ejemplo de utilización de parámetros sería el siguiente: • • •

String nombre = getParameter("nombre"); Int edad = Integer.parseInt(getParameter("edad")); } }

Documento realizado por la alumna Marta Galán

 

El código HTML sería el siguiente:   Título o de la Ventana Ventana Títul     Ejemplo Applet         Cabecera dentro de la página HTML   Ejemplo Ejemplo Applet     "100">   "Marta"/> Salto de línea   "21"/>   Tamaño del   Frame   Parámetros  

Otros Componentes para usar en Ventanas Gráficas

 



Ejemplo JCheckBox import javax.swing.JCheckBox; Container c = this.getContentPane(); JCheckBox chb = new JCheckBox( "Estudiante"); c.add(chb);

Gestión de Eventos: chb.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) { if(chb.isSelected()) mostrarMensaje("Check Activado", INFO);

} });

Documento realizado por la alumna Marta Galán

 

 



Ejemplo JRadioButton  import javax.swing.JRadioButton; import javax.swing.ButtonGroup; ButtonGroup grupo = new ButtonGroup(); rb1 = new JRadioButton("Hombre"); rb1.setSelected(true);

// Otra forma: rb1 = new JRadioButton("Hombre", true); rb2 = new JRadioButton("Mujer");

// Otra forma: rb2 = new JRadioButton("Mujer", false);   grupo.add(rb1); grupo.add(rb2); JPanel pnlRadioBtn = new JPanel(); pnlRadioBtn.add(rb1); pnlRadioBtn.add(rb2);

 



Ejemplo JOptionPane  Para Gestionar los Eventos del JRadioButton anterior utilizaremos un ejemplo de JOptionPane (clase utilizada para crear cualquier tipo de dialogo estándar para mostrar o recoger información). i nformación). Relación (Tipo de diálogo – Método estático):        

• •

• •

Diálogo de Confirmación (Si/No/Cancela (Si/No/Cancelar) r) –  showConfirmDialog showConfirmDialog   Diálogo de Entrada - showInputDialog showInputDialog   Diálogo de Mensaje - showMessageDialog showMessageDialog   Dialogo Personalizab Personalizable le - showOptionDialog showOptionDialog  

En este caso declararemos un método que nos permitirá mostrar mensajes informativos: rb1.addActionListener(new ActionListener() {  public void actionPerformed(ActionEvent e) {  if(rb1.isSelected()) mostrarMensaje("Radio Hombre Activado", INFO);

} });

Otras opciones podrían ser:   ERROR_MESSAGE  ERROR_MESSAGE  QUESTION_MESSAGE PLAIN_MESSAGE (Sin iconos)  WARNING_MESSAGE 

 private void mostrarMensaje (String msg, String titulo) { JOptionPane.showMessageDialog (this, msg, titulo, JOptionPane.INFORMATION_MESSAGE);

}

 



Ejemplo JComboBox  import javax.swing.JComboBox; Container c = this.getContentPane(); JComboBox cmbListado = new JComboBox (); cmbListado.addItem(new Persona(nombre, edad)); c.add(cmbListado);

Documento realizado por la alumna Marta Galán

 

 



 pestañas)  Ejemplo JTabbedPane  JTabbedPane  ( pestañas import javax.swing.JTabbedPane; Container c = this.getContentPane(); JTabbedPane tbp = new JTabbedPane(); JPanel panel1 = new JPanel(new BorderLayout()); JLabel etiqueta1 = new JLabel("HOLA"); etiqueta1.setHorizontalAlignment(JLabel.CENTER); panel1.add(etiqueta1, BorderLayout.NORTH);

tbp.addTab("Pestaña 1", panel1);

JPanel panel2 = new JPanel(new BorderLayout()); JLabel etiqueta2 = new JLabel("ADIOS"); etiqueta2.setHorizontalAlignment(JLabel.CENTER); panel2.add(etiqueta2, BorderLayout.NORTH);

tbp.addTab("Pestaña 2", panel2); tbp.setSelectedIndex(0); c.add(tbp);

Dentro de los paneles de cada pestaña añadiremos todos los componentes gráficos que necesitemos para nuestra aplicación. 

Documento realizado por la alumna Marta Galán

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF