domingo, 27 de septiembre de 2009

Proyectos y clases Java con NetBeans

Las aplicaciones Java creadas con NetBeans se organizan como proyectos. Cada proyecto además está dividido en:
  • Paquetes de fuentes
  • Paquetes de prueba
  • Bibliotecas
  • Bibliotecas de pruebas
El código que se escriba, y las ventanas que se diseñen para la aplicación, se almacenarán en la sección "Paquetes de fuentes". En esa sección se crea por defecto un paquete con el mismo nombre que el proyecto.
Estructura05
Dentro de los paquetes de fuentes se pueden crear distintos tipos de archivos. Por ejemplo, se pueden crear Clases Java, que contendrán únicamente código en Java para realizar una determinada tarea. Se pueden crear también Formularios que serán las típicas ventanas de las aplicaciones con entornos gráficos. Los formularios para aplicaciones de escritorio se denominan Formularios JFrame.

Para crear un nuevo archivo dentro de un paquete de fuentes se puede utilizar el menú "Archivo > Archivo nuevo ..." o bien usar el menú contextual del paquete de fuentes.
Estructura06

Estructura07
Un mismo proyecto puede tener varias clases e incluso varios paquetes de fuentes como se puede ver en el siguiente ejemplo:
Estructura02
Pero siempre al menos una de la clases debe ser la clase principal, es decir, aquella por lo que debe empezar la ejecución de la aplicación que se está creando. La clases candidatas a ser clase principal se diferencia visualmente de las demás porque en su icono aparece un triángulo verde (en el ejemplo anterior se puede ver sobre la clase Anagrams.java). Pueden ser clases principales aquellas que contengan un método llamado "main" dentro de su código fuente.

    public static void main(String[] args)

Si se deseara establecer otra clase como principal, se puede realizar esa acción desde las propiedades del proyecto. A dichas propiedades se puede acceder desde el menú "Archivo > Project Properties" o desde el menú contextual abierto sobre el icono del proyecto. En la ventana de diálogo que aparece se debe elegir en la parte izquierda la sección "Ejecutar", y ahí aparece un campo de texto donde se puede indicar cuál será la clase principal.

Estructura03
Aunque un proyecto tenga varias clases definidas, en algunas ocasiones es interesante ejecutar una sola clase de manera individual para hacer algún tipo de prueba. Para ello se dispone de la opción "Ejecutar archivo" dentro del menú contextual que se puede abrir sobre el icono o el nombre de la clase que se desea ejecutar. La clase que se desee ejecutar debe tener un método "main".

Estructura04
Al crear un nuevo proyecto del tipo "Aplicación Java" con NetBeans, automáticamente se crea parte del código fuente del programa en una nueva "Clase Java", con la estructura básica para comenzar a escribir código en el mismo:
Estructura01
En caso de que al paquete de fuentes se le añada un "Formulario JFrame", es decir, una ventana, lo que se muestra es el diseño gráfico del formulario con la posibilidad de ir añadiendo componentes al formulario arrastrando los elementos deseados desde la Paleta.

Para ver el código fuente correspondiente a un formulario, se debe hacer clic en la parte superior donde se puede seleccionar entre "Fuente" y "Diseño".
Estructura09
Al seleccionar "Fuente" aparece en pantalla la estructura básica del código fuente del formulario.
Estructura08
La sentencia initComponentes(); que aparece en el código, es la que crea la ventana que se ha elaborado desde la vista "Diseño". Por tanto, cualquier modificación de la ventana o de sus elementos que se desee realizar desde código, deberá realizarse escribiendo las sentencias oportunas a continuación de esa instrucción.

En el código anterior, que ha sido generado automáticamente al crear un formulario, se puede observar que hay áreas sombreadas. Esas zonas no pueden ser modificadas por el programador desde el editor de código fuente, ya que están relacionadas con los elementos que han sido incluidos de forma gráfica en el formulario utlizando la vista "Diseño".

En NetBeans es posible tener abiertos simultáneamente varios proyectos, pero sólo uno de ellos será el "Proyecto principal". El proyecto que se encuentre seleccionado como proyecto principal será el que se ejecute cuando se lance la orden de Ejecutar desde NetBeans. El proyecto principal se diferencia visualmente de los demás porque aparece resaltado su nombre en negrita.
Estructura10
Es posible seleccionar otro proyecto como el principal desde el menú contextual abierto sobre el nombre del proyecto, o bien, desde el menú "Ejecutar > Establecer como proyecto principal".

En el menú contextual, y desde el menú "Archivo" se pueden "Cerrar" los proyectos que se encuentran abiertos. No confundir con "Eliminar", ya que esta operación puede borrar toda la información del proyecto almacenada en el disco duro.

8 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. String ntemp, atemp;
    String o;
    o = (String) cb_Orden.getSelectedItem();

    nombres[cont] = txt_Nombre.getText();
    apellidos[cont] = txt_Apellidos.getText();
    if (cont == 9) {
    lbl_Registros.setText("Registros: 10");
    for (int i = 0; i < 9; i++) {
    for (int j = i + 1; j < 10; j++) {
    if (nombres[i] == nombres[j]) {
    if (apellidos[i] != apellidos[j]) {
    if (apellidos[i].compareTo(apellidos[j]) > 0) {
    atemp = apellidos[j];
    ntemp = nombres[j];
    apellidos[j] = apellidos[i];
    nombres[j] = apellidos[i];
    apellidos[i] = atemp;
    nombres[i] = ntemp;
    }
    }
    } else {
    if (nombres[i].compareTo(nombres[j]) > 0) {
    atemp = apellidos[j];
    ntemp = nombres[j];
    apellidos[j] = apellidos[i];
    nombres[j] = apellidos[i];
    apellidos[i] = atemp;
    nombres[i] = ntemp;
    }
    }

    }//j
    }//i
    btn_Registrar.setEnabled(false);
    btn_Reiniciar.setEnabled(true);
    cb_Orden.setEnabled(true);

    if (o == "Ascendente") {
    for (int i = 0; i < 10; i++) {
    regs = regs + "\n" + nombres[i] + " " + apellidos[i];
    atxt_Resultado.setText("" + regs);
    }
    } else {
    for (int i = 9; i > -1; i--) {
    regs = regs + "\n" + nombres[i] + " " + apellidos[i];
    atxt_Resultado.setText(regs);
    }
    }

    } else {
    cont++;
    lbl_Registros.setText("Registros: " + cont);
    txt_Apellidos.setText("");
    txt_Nombre.setText("");
    }
    }

    ResponderEliminar
  3. if(btnCalcular2.isSelected()){
    float peso , altura, imc ;
    peso= Float.parseFloat(txtPeso2.getText());
    altura= Float.parseFloat(txtAltura2.getText());
    imc= peso/(altura*altura);
    btnCalcular2.setText("Reiniciar");
    if(imc>25){
    aTxtResultado2.setText(("Su imc es: " + imc + "\n" + "Su peso es alto"));

    }
    else if(imc<25 && imc>18){
    aTxtResultado2.setText(("Su imc es: " + imc + "\n" + "Su peso es normal"));
    }
    else if(imc<18){
    aTxtResultado2.setText(("Su imc es: " + imc + "\n" + "Su peso es bajo"));
    }
    }
    else{
    btnCalcular2.setText("calcular");
    aTxtResultado2.setText("");
    txtAltura2.setText("");
    txtPeso2.setText("");
    }

    ResponderEliminar
  4. package capturadenombres;


    public class capturarnombres extends javax.swing.JFrame {
    String regs = "";
    int cont = 0;
    String[] nombres = new String[10];
    String[] apellidos = new String[10];

    /**
    * Creates new form capturarnombres
    */
    public capturarnombres() {
    initComponents();
    setLocationRelativeTo(null);
    atxt_Resultado.setEditable(false);
    btn_Reiniciar.setEnabled(false);
    }

    ResponderEliminar
  5. package capturadenombres;


    public class capturarnombres extends javax.swing.JFrame {
    String regs = "";
    int cont = 0;
    String[] nombres = new String[10];
    String[] apellidos = new String[10];

    /**
    * Creates new form capturarnombres
    */
    public capturarnombres() {
    initComponents();
    setLocationRelativeTo(null);
    atxt_Resultado.setEditable(false);
    btn_Reiniciar.setEnabled(false);
    }

    ResponderEliminar

 

Contador de visitas