/* * Paquete que contiene los ejercicios respecto * al capitulo cinco de Como Programar en Java Septima Edicion. */ package com.jlm.ccb.ejercicios.capitulocinco; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JPanel; /** * Clase encargada de imprimir rectángulos de distintos tamaños dependiendo * de la cantidad que el usuario ingrese. * Ejercicio 5.2 * @author LorettoTG * @version 1.0 */ public class Barras extends JPanel { /** * Las clases que implementan este interfaz son susceptibles de ser * serializadas (es decir, las instancias de estas clases pueden * guardarse y leerse en/de disco -o cualquier otro dispositivo de * entrada/salida-). Al serializar lo que sucede es que los atributos * del objeto se convierten en cadenas de bytes y se guardan en el * disco. Para leer un objeto, se leen las cadenas de bytes y se * reconstruye el objeto a partir de ellos. Imagina que tienes una * aplicación que serializa en disco una serie de objetos al cerrarse * y los lee en la siguiente ejecución para mantener los valores que * tenÃan antes. El campo serialVersionUID es el número de versión de * la clase. Cuando el objeto es serializado lo primero que hace es * escribir el serialVersionUID. Si al leer el objeto se detecta que * el valor del serialVersionUID guardado no coincide con el actual se * lanza una exception InvalidClassException, de modo que el programador * puede tratar la excepción de manera adecuada. Para que este mecanismo * funcione bien, el programador debe proveer el campo private static * final long serialVersionUID en todas las clases que implementen * Serializable y en todas las subclases de ellas. El valor es * indiferente, pero debes actualizarlo cada vez que modificas tu clase * añadiendo o quitando atributos. */ private static final long serialVersionUID = 1L; private int tamano = 0; /** * Constructor de Barras. * @param tamano int Tamaño de la barra. */ public Barras(int tamano) { this.tamano = tamano; } /** * Método encargado de pintar cÃrculos concéntricos * a partir del centro del JPanel con radios mayores de * 10 pixeles en 10 pixeles. * @param g Objeto Graphics encapsula la información de estado * necesaria para realizar las operaciones básicas que soporta * Java */ public void paintComponent(Graphics g) { super.paintComponent(g); g.drawRect(10, 10, tamano, 10); } /** * Punto de entrada a la clase y a la aplicación. * @param args matriz de argumentos de cadena. */ public static void main(String[] args) { //Obtiene el tamaño del rectángulo. String entrada = JOptionPane.showInputDialog("Tamaño del rectángulo: "); //Convierte la entrada en un int. int tamano = Integer.parseInt(entrada); //El operador new es el encargado de crear instancias de //una clase, es decir los objetos que tienen las caracterÃsticas //de la clase. El operador new de Java es capaz de reservar la //memoria para un objeto de este tipo sabiendo los atributos que //tiene según la definición de la clase. Barras barras = new Barras(tamano); //Crea un nuevo objeto JFrame JFrame aplicacion = new JFrame(); //Indicamos que la operacion default para //cerrar sera EXIT_ON_CLOSE aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Agregando el panel al marco aplicacion.add(barras); //Establece el tamaño del marco aplicacion.setSize(300, 300); //Poniendo su propiedad Visible en verdadera aplicacion.setVisible(true); } }
Un blog dedicado a los bytes, al lenguaje java y diferentes frameworks que se emplearan poco a poco.
Mostrando entradas con la etiqueta Graphics. Mostrar todas las entradas
Mostrando entradas con la etiqueta Graphics. Mostrar todas las entradas
martes, 13 de septiembre de 2011
Como Programar en Java: Ejercicio 5.2
Aquí esta el ejercicio 5.2 de Como Programar en Java séptima edición.
lunes, 12 de septiembre de 2011
Como Programar en Java: Ejercicio 5.1
Aquí esta el ejercicio 5.1 de Como Programar en Java séptima edición.
package com.jlm.ccb.ejercicios.capitulocinco; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; /** * Clase encargada de pintar 10 circulos concéntricos. * Ejercicio 5.1 * @author LorettoTG * @version 1.0 */ public class CirculosDiez extends JPanel { /** * Las clases que implementan este interfaz son susceptibles de ser * serializadas (es decir, las instancias de estas clases pueden * guardarse y leerse en/de disco -o cualquier otro dispositivo de * entrada/salida-). Al serializar lo que sucede es que los atributos * del objeto se convierten en cadenas de bytes y se guardan en el * disco. Para leer un objeto, se leen las cadenas de bytes y se * reconstruye el objeto a partir de ellos. Imagina que tienes una * aplicación que serializa en disco una serie de objetos al cerrarse * y los lee en la siguiente ejecución para mantener los valores que * tenÃan antes. El campo serialVersionUID es el número de versión de * la clase. Cuando el objeto es serializado lo primero que hace es * escribir el serialVersionUID. Si al leer el objeto se detecta que * el valor del serialVersionUID guardado no coincide con el actual se * lanza una exception InvalidClassException, de modo que el programador * puede tratar la excepción de manera adecuada. Para que este mecanismo * funcione bien, el programador debe proveer el campo private static * final long serialVersionUID en todas las clases que implementen * Serializable y en todas las subclases de ellas. El valor es * indiferente, pero debes actualizarlo cada vez que modificas tu clase * añadiendo o quitando atributos. */ private static final long serialVersionUID = 1L; private static final int ITERACIONES = 10; private static final int LADO_CUADRADO = 20; private static final int DESPLAZAMIENTO = 10; /** * Método encargado de pintar circulos concéntricos * a partir del centro del JPanel con radios mayores de * 10 pixeles en 10 pixeles. * @param g Objeto Graphics encapsula la información de estado * necesaria para realizar las operaciones basicas que soporta * Java */ public void paintComponent(Graphics g) { super.paintComponent(g); //Obteniendo el ancho int ancho = getWidth() / 2; //Obteniendo la altura int altura = getHeight() / 2; //Ciclo para pintar 10 circulos for (int i = 0; i < ITERACIONES; i++) { //El punto centrico en x menos 5x(i+1) unidades //El punto centrico en y menos 5x(i+1) unidades //Esto para ir desplazando las esquinas de los //rectangulos que conformar el circulo del centro //hacia la esquina superior izquierda y el larcho //y ancho lo vamos incrementando. g.drawOval(ancho - (DESPLAZAMIENTO * (i + 1)), altura - (DESPLAZAMIENTO * (i + 1)), LADO_CUADRADO + i * LADO_CUADRADO, LADO_CUADRADO + i * LADO_CUADRADO); } } /** * Punto de entrada a la clase y a la aplicación. * @param args matriz de argumentos de cadena. */ public static void main(String[] args) { //El operador new es el encargado de crear instancias de //una clase, es decir los objetos que tienen las caracterÃsticas //de la clase. El operador new de Java es capaz de reservar la //memoria para un objeto de este tipo sabiendo los atributos que //tiene según la definición de la clase. CirculosDiez panel = new CirculosDiez(); //Crea un nuevo objeto JFrame JFrame aplicacion = new JFrame(); //Indicamos que la operacion default para //cerrar sera EXIT_ON_CLOSE aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //Agregando el panel al marco aplicacion.add(panel); //Establece el tamaño del marco aplicacion.setSize(300, 300); //Poniendo su propiedad Visible en verdadera aplicacion.setVisible(true); } }
martes, 30 de agosto de 2011
Como Programar en Java: Ejercicio 4.1 B
Aquí esta el ejercicio 4.1 B de Como Programar en Java séptima edición.
package com.jlm.ccb.ejercicios.capitulo4; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; /** * Objeto que crea un panel con una figura. * Ejercicio 4.1 B * @author LorettoTG * @version 1.0 * */ public class PanelDibujoCuatroEsquinas extends JPanel { /** * Las clases que implementan este interfaz son susceptibles de ser * serializadas (es decir, las instancias de estas clases pueden * guardarse y leerse en/de disco -o cualquier otro dispositivo de * entrada/salida-). Al serializar lo que sucede es que los atributos * del objeto se convierten en cadenas de bytes y se guardan en el * disco. Para leer un objeto, se leen las cadenas de bytes y se * reconstruye el objeto a partir de ellos. Imagina que tienes una * aplicación que serializa en disco una serie de objetos al cerrarse * y los lee en la siguiente ejecución para mantener los valores que * tenían antes. El campo serialVersionUID es el número de versión de * la clase. Cuando el objeto es serializado lo primero que hace es * escribir el serialVersionUID. Si al leer el objeto se detecta que * el valor del serialVersionUID guardado no coincide con el actual se * lanza una exception InvalidClassException, de modo que el programador * puede tratar la excepción de manera adecuada. Para que este mecanismo * funcione bien, el programador debe proveer el campo private static * final long serialVersionUID en todas las clases que implementen * Serializable y en todas las subclases de ellas. El valor es * indiferente, pero debes actualizarlo cada vez que modificas tu clase * añadiendo o quitando atributos. * */ private static final long serialVersionUID = 1L; /** * Dibuja desde la esquina superior izquierda líneas * para formar una especie de triángulo en la parte * superior izquierda. */ public void paintComponent( Graphics g ) { //Lo primero que debemos hacer es llamar a paintComponent //para asegurar que el panel se muestre correctamente super.paintComponent( g ); //Obtenemos la anchura total int anchura = getWidth(); //Obtenemos la altura total int altura = getHeight(); //Obtenemos el desplazamiento en x int moverEnX = anchura / 15; //Obtenemos el desplazamiento en y int moverEnY = altura / 15; //Un ciclo que dibuja líneas a partir de la esquina superior //izquierda, de donde se quedan esas líneas a la esquina inferior //derecha, líneas a partir de la esquina superior derecha, de donde //se quedan esas líneas a la esquina inferior izquierda. for ( int i = 0; i <= 15; i++) { g.drawLine( 0, 0, moverEnX * i, altura - (moverEnY * i)); g.drawLine( moverEnX * i, altura - (moverEnY * i), anchura, altura); g.drawLine( anchura, 0, (anchura - moverEnX * i), altura - (moverEnY * i)); g.drawLine( (anchura - moverEnX * i), altura - (moverEnY * i), 0, altura); } } /** * Punto de entrada a la clase y a la aplicación. * @param args matriz de argumentos de cadena. */ public static void main( String args[] ) { //Crea un objeto PanelDibujoEsquina que contendrá //el dibujo PanelDibujoCuatroEsquinas panel = new PanelDibujoCuatroEsquinas(); //Crea un objeto JFrame que contiene el marco //donde estará el panel JFrame aplicacion = new JFrame(); //Establece lo que hará el marco al salir aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //Agrega el panel al marco creado aplicacion.add( panel ); //Asignamos el tamaño del marco aplicacion.setSize( 200, 200 ); //Asignamos a la propiedad visible true aplicacion.setVisible( true ); } }
Etiquetas:
Como Programar en Java,
Ejercicio,
Graphics,
Java,
JFrame,
JPanel,
Out,
PaintComponent,
Print,
Printf,
Println,
SerialVersionUID,
System
lunes, 29 de agosto de 2011
Como Programar en Java: Ejercicio 4.2 B
Aquí esta el ejercicio 4.2 B de Como Programar en Java séptima edición.
package com.jlm.ccb.ejercicios.capitulo4; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; /** * Objeto que crea un panel con una figura. * Ejercicio 4.2 B * @author LorettoTG * @version 1.0 * */ public class PanelDibujoCuatroEsquinasAbajo extends JPanel { /** * Las clases que implementan este interfaz son susceptibles de ser * serializadas (es decir, las instancias de estas clases pueden * guardarse y leerse en/de disco -o cualquier otro dispositivo de * entrada/salida-). Al serializar lo que sucede es que los atributos * del objeto se convierten en cadenas de bytes y se guardan en el * disco. Para leer un objeto, se leen las cadenas de bytes y se * reconstruye el objeto a partir de ellos. Imagina que tienes una * aplicación que serializa en disco una serie de objetos al cerrarse * y los lee en la siguiente ejecución para mantener los valores que * tenían antes. El campo serialVersionUID es el número de versión de * la clase. Cuando el objeto es serializado lo primero que hace es * escribir el serialVersionUID. Si al leer el objeto se detecta que * el valor del serialVersionUID guardado no coincide con el actual se * lanza una exception InvalidClassException, de modo que el programador * puede tratar la excepción de manera adecuada. Para que este mecanismo * funcione bien, el programador debe proveer el campo private static * final long serialVersionUID en todas las clases que implementen * Serializable y en todas las subclases de ellas. El valor es * indiferente, pero debes actualizarlo cada vez que modificas tu clase * añadiendo o quitando atributos. * */ private static final long serialVersionUID = 1L; /** * Dibuja desde la esquina superior izquierda líneas * para formar una especie de triángulo en la parte * superior izquierda. */ public void paintComponent( Graphics g ) { //Lo primero que debemos hacer es llamar a paintComponent //para asegurar que el panel se muestre correctamente super.paintComponent( g ); //Obtenemos la anchura total int anchura = getWidth(); //Obtenemos la altura total int altura = getHeight(); //Obtenemos el desplazamiento en x int moverEnX = anchura / 15; //Obtenemos el desplazamiento en y int moverEnY = altura / 15; //Un ciclo que dibuja líneas a partir de la esquina superior //izquierda, de donde se quedan esas líneas a la esquina inferior //derecha, líneas a partir de la esquina superior derecha, de donde //se quedan esas líneas a la esquina inferior izquierda. for ( int i = 0; i <= 15; i++) { g.drawLine(0, moverEnY * i, moverEnX * (i+1), altura); g.drawLine(anchura, moverEnY * i, anchura - moverEnX * (i+1), altura); g.drawLine(0, altura - moverEnY * i, moverEnX * (i+1), 0); g.drawLine(anchura, altura - moverEnY * i, anchura - moverEnX * (i+1), 0); } } /** * Punto de entrada a la clase y a la aplicación. * @param args matriz de argumentos de cadena. */ public static void main( String args[] ) { //Crea un objeto PanelDibujoEsquina que contendrá //el dibujo PanelDibujoCuatroEsquinasAbajo panel = new PanelDibujoCuatroEsquinasAbajo(); //Crea un objeto JFrame que contiene el marco //donde estará el panel JFrame aplicacion = new JFrame(); //Establece lo que hará el marco al salir aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //Agrega el panel al marco creado aplicacion.add( panel ); //Asignamos el tamaño del marco aplicacion.setSize( 200, 200 ); //Asignamos a la propiedad visible true aplicacion.setVisible( true ); } }
Etiquetas:
Como Programar en Java,
Ejercicio,
For,
Graphics,
Java,
JFrame,
JPanel,
Out,
PaintComponent,
Print,
Printf,
Println,
SerialVersionUID,
System
domingo, 28 de agosto de 2011
Como Programar en Java: Ejercicio 4.1 A
Aquí esta el ejercicio 4.1 A de Como Programar en Java séptima edición.
package com.jlm.ccb.ejercicios.capitulo4; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; /** * Objeto que crea un panel con una figura. * Ejercicio 4.1 A * @author LorettoTG * @version 1.0 * */ public class PanelDibujoEsquina extends JPanel { /** * Las clases que implementan este interfaz son susceptibles de ser * serializadas (es decir, las instancias de estas clases pueden * guardarse y leerse en/de disco -o cualquier otro dispositivo de * entrada/salida-). Al serializar lo que sucede es que los atributos * del objeto se convierten en cadenas de bytes y se guardan en el * disco. Para leer un objeto, se leen las cadenas de bytes y se * reconstruye el objeto a partir de ellos. Imagina que tienes una * aplicación que serializa en disco una serie de objetos al cerrarse * y los lee en la siguiente ejecución para mantener los valores que * tenían antes. El campo serialVersionUID es el número de versión de * la clase. Cuando el objeto es serializado lo primero que hace es * escribir el serialVersionUID. Si al leer el objeto se detecta que * el valor del serialVersionUID guardado no coincide con el actual se * lanza una exception InvalidClassException, de modo que el programador * puede tratar la excepción de manera adecuada. Para que este mecanismo * funcione bien, el programador debe proveer el campo private static * final long serialVersionUID en todas las clases que implementen * Serializable y en todas las subclases de ellas. El valor es * indiferente, pero debes actualizarlo cada vez que modificas tu clase * añadiendo o quitando atributos. * */ private static final long serialVersionUID = 1L; /** * Dibuja desde la esquina superior izquierda líneas * para formar una especie de triángulo en la parte * superior izquierda. */ public void paintComponent( Graphics g ) { //Lo primero que debemos hacer es llamar a paintComponent //para asegurar que el panel se muestre correctamente super.paintComponent( g ); //Obtenemos la anchura total int anchura = getWidth(); //Obtenemos la altura total int altura = getHeight(); //Obtenemos el desplazamiento en x int moverEnX = anchura / 15; //Obtenemos el desplazamiento en y int moverEnY = altura / 15; //Un ciclo que dibuja líneas a partir de la esquina superior //izquierda for ( int i = 0; i <= 15; i++) { g.drawLine( 0, 0, moverEnX * i, altura - (moverEnY * i)); } } /** * Punto de entrada a la clase y a la aplicación. * @param args matriz de argumentos de cadena. */ public static void main( String args[] ) { //Crea un objeto PanelDibujoEsquina que contendrá //el dibujo PanelDibujoEsquina panel = new PanelDibujoEsquina(); //Crea un objeto JFrame que contiene el marco //donde estará el panel JFrame aplicacion = new JFrame(); //Establece lo que hará el marco al salir aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //Agrega el panel al marco creado aplicacion.add( panel ); //Asignamos el tamaño del marco aplicacion.setSize( 200, 200 ); //Asignamos a la propiedad visible true aplicacion.setVisible( true ); } }
Etiquetas:
Como Programar en Java,
Ejercicio,
For,
Graphics,
Java,
JFrame,
JPanel,
Out,
PaintComponent,
Print,
Printf,
Println,
SerialVersionUID,
System
Como Programar en Java: Ejercicio 4.2 A
Aquí esta el ejercicio 4.2 A de Como Programar en Java séptima edición.
package com.jlm.ccb.ejercicios.capitulo4; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; /** * Objeto que crea un panel con una figura. * Ejercicio 4.2 A * @author LorettoTG * @version 1.0 * */ public class PanelDibujoEsquinaAbajo extends JPanel { /** * Las clases que implementan este interfaz son susceptibles de ser * serializadas (es decir, las instancias de estas clases pueden * guardarse y leerse en/de disco -o cualquier otro dispositivo de * entrada/salida-). Al serializar lo que sucede es que los atributos * del objeto se convierten en cadenas de bytes y se guardan en el * disco. Para leer un objeto, se leen las cadenas de bytes y se * reconstruye el objeto a partir de ellos. Imagina que tienes una * aplicación que serializa en disco una serie de objetos al cerrarse * y los lee en la siguiente ejecución para mantener los valores que * tenían antes. El campo serialVersionUID es el número de versión de * la clase. Cuando el objeto es serializado lo primero que hace es * escribir el serialVersionUID. Si al leer el objeto se detecta que * el valor del serialVersionUID guardado no coincide con el actual se * lanza una exception InvalidClassException, de modo que el programador * puede tratar la excepción de manera adecuada. Para que este mecanismo * funcione bien, el programador debe proveer el campo private static * final long serialVersionUID en todas las clases que implementen * Serializable y en todas las subclases de ellas. El valor es * indiferente, pero debes actualizarlo cada vez que modificas tu clase * añadiendo o quitando atributos. * */ private static final long serialVersionUID = 1L; /** * Dibuja desde la esquina superior izquierda líneas * para formar una especie de triángulo en la parte * superior izquierda. */ public void paintComponent( Graphics g ) { //Lo primero que debemos hacer es llamar a paintComponent //para asegurar que el panel se muestre correctamente super.paintComponent( g ); //Obtenemos la anchura total int anchura = getWidth(); //Obtenemos la altura total int altura = getHeight(); //Obtenemos el desplazamiento en x int moverEnX = anchura / 15; //Obtenemos el desplazamiento en y int moverEnY = altura / 15; //Un ciclo que dibuja líneas a partir de la esquina superior //izquierda, de donde se quedan esas líneas a la esquina inferior //derecha, líneas a partir de la esquina superior derecha, de donde //se quedan esas líneas a la esquina inferior izquierda. for ( int i = 0; i <= 15; i++) { g.drawLine(0, moverEnY * i, moverEnX * (i+1), altura); } } /** * Punto de entrada a la clase y a la aplicación. * @param args matriz de argumentos de cadena. */ public static void main( String args[] ) { //Crea un objeto PanelDibujoEsquina que contendrá //el dibujo PanelDibujoEsquinaAbajo panel = new PanelDibujoEsquinaAbajo(); //Crea un objeto JFrame que contiene el marco //donde estará el panel JFrame aplicacion = new JFrame(); //Establece lo que hará el marco al salir aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); //Agrega el panel al marco creado aplicacion.add( panel ); //Asignamos el tamaño del marco aplicacion.setSize( 200, 200 ); //Asignamos a la propiedad visible true aplicacion.setVisible( true ); } }
Etiquetas:
Como Programar en Java,
Ejercicio,
For,
Graphics,
Java,
JFrame,
JPanel,
Out,
PaintComponent,
Print,
Printf,
Println,
SerialVersionUID,
System
Suscribirse a:
Entradas (Atom)