viernes, 23 de mayo de 2014

Controles Swing: Botones de radio, casillas verificación, spinner, slider,...

Continuamos viendo el uso de controles Swing en java, para ello hacemos una aplicación muy sencilla que permite modificar el estilo, tamaño y tipo de letra de un área de texto.
La ventana de la aplicación será algo como:

y el código (prestad atención en que alguno de los eventos llaman ya a la función p.e. cambiarTamano pero otros controles tratan el evento directamente,...es lo explicado en clase, todas deberían llamar al método para no estar repitiendo código y tratando lo mismo en veinte sitios ya que dificulta además de la programación el mantenimiento de las aplicaciones):


lunes, 12 de mayo de 2014

Agregando botones gridLayout y clase manejador

Agregamos a una ventana una serie de botones cuyo manejador es la clase manejador. La ventana ha sido creada desde netBeans pero el panel es el genérico.

package cuadradosadivina;

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JOptionPane;



Botón con imagen cambiando color de fondo

package explicacionventana;

import java.awt.Color;
import java.awt.Image;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import java.util.Random;

/**
*
* @author juan
*/
public class Ventana extends javax.swing.JFrame {

    /**
     * Creates new form Ventana
     */
    JButton boton1;
    public Ventana() {
        initComponents();
     

viernes, 9 de mayo de 2014

Unidad 4 Ejercicio 8: Usar border layout para cambiar los colores de sus paneles respectivos

 Usar border layout para cambiar los colores de sus paneles respectivos:


/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package unidad4ejercicio8;

import java.awt.Color;
import java.util.Random;
import javax.swing.JPanel;

/**
*
* @author Juan
*/

Unidad 4 Ejercicio 10: Diseño de la apariencia de una calculadora

Diseño provisional de la ventana, iremos añadiendo código a lo largo de la semana:



/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package unidad4ejercicio10;

import java.awt.Component;
import java.awt.Font;

/**
*
* @author Juan
*/
public class Calculadora extends javax.swing.JFrame {

 

miércoles, 7 de mayo de 2014

Unidad 4 Ejercicio 5

Repetir el programa anterior, pero utilizando el gestor de diseño GridLayout, definiendo 2 filas y 2 columnas. En la primera fila se incluyen dos JTextField, y en la segunda dos JLabel. Mirar en la ayuda el método setFont, y la clase Font.
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package unidad4ejercicio5;

import java.awt.Font;
import java.awt.Image;
import java.text.DecimalFormat;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;


public class VentanaExplica extends javax.swing.JFrame {

    /**
     * Creates new form VentanaExplica
     */
    public VentanaExplica() {
        initComponents();
        txtEuros.setFont(this.getFuenteLetra());

Unidad 4 Ejercicio 4

Hacer un programa que visualice dos campos de texto (JtextField). En el primer campo se puede teclear un valor numérico en euros, que será convertido a pesetas en el segundo campo. Si el valor se teclea en el segundo campo, se convertirá a euros en el primero.
Emplear la clase DecimalFormat para establecer la salida a dos decimales:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package ejercicio4;

import java.text.DecimalFormat;
import javax.swing.JOptionPane;

/**
*
* @author juan
*/
public class Conversion extends javax.swing.JFrame {

    /**
     * Creates new form Conversion
     */
    public Conversion() {
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
   

lunes, 5 de mayo de 2014

Convertir a Pesetas

Método que permite convertir a pesetas el texto tecleado en un campo de texto (supuestamente en euros llamado txtEuros). Se podría llamar en el caso del evento ActionPerformed y/o KeyReleased:

private void convAPesetas() {
     double pesetas,euros;
     DecimalFormat formato = new DecimalFormat("######.##");
     if (!txtEuros.getText().equals(""))
        try {
            euros = Double.parseDouble(txtEuros.getText());
            pesetas=euros*166.386;
            txtPesetas.setText(formato.format(pesetas));
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(this, "Los datos introducidos no se pueden convertir a moneda", "Error en la conversión", JOptionPane.ERROR_MESSAGE);
            txtEuros.setText("");
            txtEuros.requestFocus();
        }
    
    
    
    }