Taller de Programacion Orientada a Objetos
Datos Personales
Alumno: Daniel Alejandro Bulnes Reyna
Matrícula: 1441186 Hora: M1-M2
Taller de Programación Orientada a Objetos
Dra. Sara Elena Garza
Matrícula: 1441186 Hora: M1-M2
Taller de Programación Orientada a Objetos
Dra. Sara Elena Garza
viernes, 9 de diciembre de 2011
Creación de Interfaz Gráfica en Netbeans
Crear una interfaz grafica en netbeans, no es nada dificil, puesto que en si el programa esta hecho para auxiliarnos en este tipo de necesidades.
Como si estuvieramos siguiendo estas sencillas instrucciones, realmente haremos algo extraordinario con nuestra interfaz:
1.Abrimos el IDE (Integrated Development Environment o Entorno de Desarrollo Integrado) en este caso llamado Netbeans, y creamos un nuevo proyecto
2. Despues de crear el proyecto, dentro de nuestros paquetes, en los Source Packages, que es donde se encuentra el paquete que nos dan por default, crearemos un nuevo archivo del tipo JFrame que es del tipo ventana o recuadro(marco) y que nos abrira una pestaña en el proyecto, y nos mostrara un panel donde tendremos herramientas de edición con las cuales diseñaremos nuestra interfaz.
3.Entre las herramientas que tenemos a la mano, son cajas de texto, botones, listbox, combobox, checkbox y que son utilizados frecuentemente en las ventanas.
4. Para poner cada una de estas herramientas en nuestro panel basta con arrastrarlo y acomodarlo en el lugar que queramos que este. Hasta que vallamos teniendo lo que vamos deseando como por ejemplo:
5.Ademas si queremos editar campos como en el anterior panel la etiqueta de texto que dice "Tu nombre es:" solo hay que buscar en la parte derecha, justamente de donde arrastramos nuestro componentes para el panel, ahi se encuentra la pestaña Propiedades, que suele tener un aspecto similar a la siguiente imagen:
6. Bueno y esta parte se hizo con la pestaña de diseño, que realmente es facil, pero no nos muestra como codificarlo y esto es lo que realmente interesa, entonces para poder aprender algo de como es que se codifica yo recomiendo que al estar agregando cada componente, vallamos viendo en la pestaña Source que nos muestra el codigo, y ademas podemos aprender paso a paso como irlo haciendo hasta que no tengamos la necesidad de usar el diseñador.
7. En este caso el codigo de la venta que se hizo quedo asi:
private void jButton1MousePressed(java.awt.event.MouseEvent evt) {
jLabel1.setText("Tu nombre es "+jTextField1.getText());
}
JLabel se refiere a la etiqueta que se agrego al panel y el JTextField a la caja de texto que capturara los datos que necesitamos, getText() es la función que hace que reciba los datos y setText() es la función que utiliza para cambiar el caption.
El MousePressed es cuando le damos eventos a un botón, para que haga lo que necesitamos, para este caso también hay un menú para ese botón que se abre con el botón secundario, y que nos muestra los eventos que puede hacer.
8. Por lo tanto si ejecutaramos el programa y lo probaramos con mi nombre quedaria algo asi:
fuente: http://www.programodesdecasa.com/aplicaciones-de-escritorio/13-creacion-de-interfaces-graficas-con-netbeans-y-java.html
Clase Moto
En el taller, pude observar esta clase moto y me llamo la atencion como se realizo y realmente entendi el concepto y ahora me gustaria ponerla aqui, porque realmente ayudo a entender mas de java.
Clase MainMoto
Clase Moto
Pseudocódigo
Clase Moto{
placa, estadoMotor, velocidad, vidaBateria
Moto(placa)
placa = placa
estadoMotor = apagado
velocidad = 0
vidaBateria = 100
verPlaca()
return placa
encender()
estadoMotor = encendido
vidaBateria --
apagar()
estadoMotor = apagado
velocidad = 0
acelerar()
if estadoMotor == encendido
velocidad = velocidad + 20
frenar()
if estadoMotor == encendido && velocidad > 0
velocidad = velocidad - 20
}
public class Moto { private int placa; private boolean estadom; private int velocidad; private int vbateria; //atributos public Moto( int placa) { placa = placa; estadom = false ; velocidad = 0 ; vbateria = 100 ; } public int verplaca( int placa) { System.out.println( "Placa: " +placa); return placa; } public void encender() { estadom = true ; System.out.println( "El motor esta encendido" ); vbateria--; System.out.println( "Bateria: " + vbateria); return ; } public void apagar() { estadom = false ; System.out.println( "El motor esta apagado" ); velocidad = 0 ; System.out.println( "La velocidad es 0" ); return ; } public void acelerar() { if (estadom== true ){ velocidad = velocidad + 20 ; System.out.println( "Velocidad: " + velocidad); } else { System.out.println( "El motor esta apagado" ); } return ; } public void frenar() { if (velocidad > 0 && estadom == true ){ velocidad = velocidad - 20 ; System.out.println( "Velocidad: " + velocidad); } else { System.out.println( "El motor esta apagado / La velocidad no puede ser negativa" ); } return ; } } |
import java.util.Scanner; public class MainMoto{ public static void main(String args[]){ Moto motoEjemplo = new Moto( 42424 ); Scanner leer = new Scanner(System.in); int opc; do { System.out.println( "\t\tMoto" ); System.out.println( "1.- Ver placa" ); System.out.println( "2.- Encender" ); System.out.println( "3.- Apagar" ); System.out.println( "4.- Acelerar" ); System.out.println( "5.- Frenar" ); opc = leer.nextInt(); switch (opc){ case 1 : motoEjemplo.verplaca( 343 ); break ; case 2 : motoEjemplo.encender(); break ; case 3 : motoEjemplo.apagar(); break ; case 4 : motoEjemplo.acelerar(); break ; case 5 : motoEjemplo.frenar(); break ; } } while (opc<= 5 ); } } |
EJECUTABLE Y PAQUETE DEL PROYECTO
Bueno y para entregarlo, en la clase, el proyecto tenia que estar en ejecutable y ademas que este tuviera su base de datos y sus herramientas en una carpeta y lo hicieramos instalador.
Utilizamos el WINRAR para hacer esto y al final al instalar nos aparece esto
Utilizamos el WINRAR para hacer esto y al final al instalar nos aparece esto
HERENCIA
En mi codigo, no pude identificar la herencia, pero pondre un ejemplo que vi y que me ayudo a entender un poco mejor este tema.
// La declaración de la clase Punto representa un par de coordenadas x-y. public class Punto3 { private int x; // parte x de un par de coordenadas private int y; // parte y de un par de coordenadas // constructor sin argumentos public Punto3() { // la llamada implícita al constructor de Object ocurre aquí } // constructor public Punto3( int valorX, int valorY ) { // la llamada implícita al constructor de Object ocurre aquí x = valorX; // no hay necesidad de validación y = valorY; // no hay necesidad de validación } // establecer x en el par de coordenadas public void establecerX( int valorX ) { x = valorX; // no hay necesidad de validación } // devolver x del par de coordenadas public int obtenerX() { return x; } // establecer y en el par de coordenadas public void establecerY( int valorY ) { y = valorY; // no hay necesidad de validación } // devolver y del par de coordenadas public int obtenerY() { return y; } // devolver la representación String del objeto Punto3 public String toString() { return "[" + obtenerX() + ", " + obtenerY() + "]" ; } } // fin de la clase Punto3 |
// La clase Circulo4 hereda de Punto3 y accede a las variables x e y // de Punto 3 mediante los métodos public de Punto3. public class Circulo4 extends Punto3 { private double radio; // El radio de Circulo4 // constructor sin argumentos public Circulo4() { // La llamada implícita al constructor de Punto3 ocurre aquí } // constructor public Circulo4( int valorX, int valorY, double valorRadio ) { super ( valorX, valorY ); // llamar explícitamente al constructor de Punto3 establecerRadio( valorRadio ); } // establecer el radio public void establecerRadio( double valorRadio ) { radio = ( valorRadio < 0.0 ? 0.0 : valorRadio ); } // devolver el radio public double obtenerRadio() { return radio; } // calcular y devolver el diámetro public double obtenerDiametro() { return 2 * obtenerRadio(); } // calcular y devolver la circunferencia public double obtenerCircunferencia() { return Math.PI * obtenerDiametro(); } // calcular y devolver el área public double obtenerArea() { return Math.PI * obtenerRadio() * obtenerRadio(); } // devolver la representación String del objeto Circulo4 public String toString() { return "Centro = " + super .toString() + "; Radio = " + obtenerRadio(); } } // fin de la clase Circulo4 |
// Prueba de la clase Cilindro. import java.text.DecimalFormat; import javax.swing.JOptionPane; public class PruebaCilindro { public static void main( String[] args ) { // crear el objeto Cilindro Cilindro cilindro = new Cilindro( 12 , 23 , 2.5 , 5.7 ); // obtener las coordenadas x-y, radio y altura iniciales del Cilindro String salida = "La coordenada X es " + cilindro.obtenerX() + "\nLa coordenada Y es " + cilindro.obtenerY() + "\nEl radio es " + cilindro.obtenerRadio() + "\nLa altura es " + cilindro.obtenerAltura(); cilindro.establecerX( 35 ); // establecer la nueva coordenada x cilindro.establecerY( 20 ); // establecer la nueva coordenada y cilindro.establecerRadio( 4.25 ); // establecer el nuevo radio cilindro.establecerAltura( 10.75 ); // establecer la nueva altura // obtener la representación String del nuevo valor de cilindro salida += "\n\nLa nueva ubicación, radio y altura del cilindro son\n" + cilindro.toString(); // dar formato a los valores de punto flotante con 2 dígitos de precisión DecimalFormat dosDigitos = new DecimalFormat( "0.00" ); // obtener el diámetro del Cilindro salida += "\n\nEl diámetro es " + dosDigitos.format( cilindro.obtenerDiametro() ); // obtener la circunferencia del Cilindro salida += "\nLa circunferencia es " + dosDigitos.format( cilindro.obtenerCircunferencia() ); // obtener el área del Cilindro salida += "\nEl área es " + dosDigitos.format( cilindro.obtenerArea() ); // obtener el volumen del Cilindro salida += "\nEl volumen es " + dosDigitos.format( cilindro.obtenerVolumen() ); JOptionPane.showMessageDialog( null , salida ); // mostrar resultados System.exit( 0 ); } // fin de main } // fin de la clase PruebaCilindro |
Suscribirse a:
Entradas (Atom)