Datos Personales

Alumno: Daniel Alejandro Bulnes Reyna
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.


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

}

Clase MainMoto

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;
}
 
}
Clase Moto

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


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