Pages

Subscribe:

Entradas



AGENDA DE CONTACTOS (INTERFAZ)


Simulacion de una agenda de contactos... realiza registros y busqueda...


DOWNDescargar

Manejo de video club



Ejemplo sencillo que ejemplifica el manejo de un video club mediante una aplicación con GUI. Ademas de los componentes swing se maneja el uso de archivos, la creación, modificacion, lectura y eliminación de datos almacenados en archivos de texto .txt y .dat


DOWNDescargar

Promedio de 6 calificaciones



A travez de un arreglo ya prestablecido los valores se calcula el promedio




DOWNDescargar

Validar la cédula y el RUC de Ecuador en Java



Con este programa se puede validar el RUC y la cédula de Ecuador. Hay tres tipos de RUC en Ecuador y en el manual se validan esos 3 tipos. Pueden encontrar información de este código en mi blog: http://cyberexplorador.wordpress.com/2011/02/20/validar-el-ingreso-del-ruc-de-ecuador-en-java/


DOWNDescargar

Ejemplos basicos de recursividad



Untema muy interesante dentro de la programación es la Recursividad, es decir funciones que se llaman así mismo, aqui les dejo una clase con ejemplos básicos de recursividad: -Factorial -Fibonaci -Potencia -División -Módulo -Multilpicación -MCD Prueben y comenten



DOWNDescargar

base de datos mysql



da de alta proveedores y a clientes y productos los muestra en frame



DOWNDescargar

Manejo de un block de notas



Como escribir en un block de notas, leer datos y llevar un control simple simulando una dase de datos.




Facturacion usando framework struts2.0


Pequeño programita usando struts2.0 y mysql esta implementado usando sesiones spero les sirva librerias:


Manejo de Swing y acceso a bd , jtable , jcombobox



CODIGO Q SIMULA UN USUARIO Y UN PROGRAMA , ORIENTACION A OBJETOS Y MANEJO DE SWING...SE ACEPTAN COMENTARIOS


Linked List de Java

hacer una aplicación que utilice una lista compuesta por cadenas de caracteres y permita al usuario realizar operaciones sobre ella mostrando los cambios que se producen. La apariencia de la aplicación debe ser como la mostrada en la figura. Lo primero que el usuario debe hacer es crear la lista (con el botón Crear). A partir de ese momento podemos hacer operaciones sobre la lista ya creada con el resto de los botones (Insertar, Borrar y Elemento). Un informe de la operación realizada y la lista resultante se debe mostrar en el área de texto de la ventana tras cada operación. Cuando se produzca un acceso inadecuado sobre la lista (por ejemplo, acceder a un elemento de una lista vacía, insertar en una posición mayor que el tamaño de la lista, intentar realizar sobre una operación antes de crear la lista, etc.) se deberá notificar con un mensaje de color rojo en la parte inferior de la ventana y continuar con la ejecución de la aplicación



DOWNDescargar

Curso de Java: Desarrollar Aplicaciones GUI con NetBeans

Curso de Java: Desarrollar Aplicaciones GUI con NetBeans es el video tutorial número 26 del curso, en el que se ve como crear una Interface Gráfica de Usuario con el software NetBeans IDE. Aprendrás a desarrollar aplicaciones GUI; El Matisse GUI Builder de NetBeans; Crear una aplicación GUI; Trabajar con la ventana Palette; Creación de un proyecto; Crear la Clase JFrame Inicial; Trabajar con el Editor de Formularios; Uso de la barra de herramientas del Editor Form; Añadir componentes al formulario; Modificar las propiedades de los componentes; Añadir eventos usando Connection Mode; Añadir eventos manualmente; Usar la librería FreeTTS y finalmente aprenderás a Añadir FreeTTS a la librería del proyecto.

Descargar

Ejemplo de panel Avatar de EdisoncorSx


En este primer ejemplo vamos a ver como es la utilización del componente PanelAvatarChooser de la librería EdisoncorSx, para ello vamos a utilizar netbeans, lo que tu tienes que crear es un componente Swing GUI Forms en tu proyecto (File → New File →Swing GUI forms), como por ejemplo un Jframe, un JDialog, etc,

Luego del panel de componentes selecciona PanelAvatarChooser y arrastralo hasta el formulario


por defecto este componente carga ya algunas imágenes, lo que ahora en tu código vamos a modificar el código

public Main() {         initComponents();     }

lo modifixcamos para que quede así

public Main() {         initComponents();         List avatares = new ArrayList();         avatares.add((BufferedImage) loadImage("/resources/1.jpg"));         avatares.add((BufferedImage) loadImage("/resources/2.jpg"));         avatares.add((BufferedImage) loadImage("/resources/3.jpg"));         avatares.add((BufferedImage) loadImage("/resources/4.jpg"));         avatares.add((BufferedImage) loadImage("/resources/5.gif"));         avatares.add((BufferedImage) loadImage("/resources/6.jpg"));         panelAvatarChooser1.setAvatars(avatares);     }

y añadimos el siguiente método para la carga de imagenes

private static Image loadImage(String fileName) {         try {             return ImageIO.read(JFrame.class.getResource(fileName));         } catch (IOException ex) {             ex.printStackTrace();             return null;         }     }

y a continuación se tiene

El proyecto para Nestbeans lo puedes descargar desde aquí

Clases y objetos

Una clase es la descripción de un tipo de objetos. Por ejemplo, podemos definir la clase "Mesa" como la descripción de ese tipo de objetos. Todas las mesas tienen una serie de características en común que permiten definir las características de cada una de ellas. Podríamos utilizar como características que definen las mesas las siguientes: color, alto, ancho, largo, material, ubicación. Esas características se van a denominar atributos de la clase.
Clase Mesa:
  • color (cadena de caracteres)
  • alto (numérico entero)
  • ancho(numérico entero)
  • largo (numérico entero)
  • material (cadena de caracteres)
  • ubicación (cadena de caracteres)

De una determinada clase se pueden crear una serie de objetos, que serán instancias de esa clase. Objeto, instancia de clase o instancia son sinónimos. Siguiendo el ejemplo de la clase "Mesa", se pueden crear diversas mesas cada una de ellas con sus propios atributos, aunque pueden tener valores iguales en algunos casos. Cada objeto (mesa) creado tendrá un nombre exclusivo de lo identifica.
  • mesa01: "Blanco", 100, 120, 60, "Madera", "Aula1"
  • mesa02: "Verde", 100, 100, 50, "Plástico", "Aula1"
  • mesa03: "Blanco", 100, 120, 60, "Madera", "Aula2"
  • mesa04: "Rojo", 100, 120, 60, "Plástico", "Aula2"
  • mesa05: "Verde", 100, 100, 50, "Plástico", "Aula2

Cada clase tendrá definida una serie de operaciones que se pueden realizar sobre los objetos creados de esa clase. Esas operaciones se denomina métodos. Siempre habrá un método para crear los objetos de la clase que se denomina método constructor. En el ejemplo de la clase "Mesa" se tendrá un método para crear las mesas, y se pueden definir otros que permitan realizar una serie de operaciones, por ejemplo:
    • moverMesa: Permitiría cambiar la ubicación de una determinada mesa, por ejemplo, del Aula1 al Aula2.
    • PitarMesa: Permitiría cambiar el color de una determinada mesa, indicando el nuevo color que tendría.

Una aplicación en Java se compone de un conjunto de clases, de las que se crean objetos que interactúan entre sí. El programador puede instanciar (crear) objetos de las clases definidas por él o de las clases incluidas en el lenguaje.

Los nombres de las clases en Java empiezan, por convenio, en mayúscula, y los nombres de los objetos empiezan por minúscula.

Estructura básica de una clase en Java

/**
* Estructura básica de una clase en Java
*/

class NombreDeClase
{
//Declaración de los atributos de la clase
tipoDato atributo1;
tipoDato atributo2;
tipoDato atributo3;

//Declaración de los métodos de la clase

método1(argumentos)
{
//Declaración de las variables propias del método1

//Sentencias de ejecución del método
}

método2(argumentos)
{
//Declaración de las variables propias del método2

//Sentencias de ejecución del método
}
}

Declaración y acceso a atributos de una clase

Los atributos son las características propias de cada clase. Cada objeto creado de una determinada clase tendrá una serie de valores asignados en dichos atributos, por tanto, permiten guardar información de cada objeto.

Ejemplo para la clase Alumno:

class Alumno
{
String nombre;
String apellidos;
int añoDeNacimiento;
int númeroPersonal;
String grupo;
String turnoHorario = "Mañana";

//Declaración de los métodos
...
}

Como se puede observar en el atributo turnoHorario, se puede dar un valor inicial en la declaración de los atributos.

Desde otra parte del código se podrá acceder al valor que contiene un determinado atributo de un determinado objeto con el siguiente formato de sentencia:
nombreObjeto.atributo

Por ejemplo:
System.out.println(“El nombre es:+alumno1.nombre);

Declaración de métodos

Los métodos de una clase definen el comportamiento y los valores de los atributos de un determinado objeto de esa clase.

El formato básico de declaración de los métodos es:
valorRetorno nombreMétodo(tipoDato argumento1, tipoDato argumento2, ...)
{
//Declaración de variables propias del método
//Sentencias con las acciones que debe realizar el método
return valorQueDebeRetornar;
}

Los métodos pueden retornar un valor tras ejecutar las sentencias que contiene, o bien no retornar nada.

Si va a retornar un valor, se debe especificar el tipo de dato en la declaración delante del nombre. El valor que vaya a ser devuelto se indica con la sentencia return, por ejemplo, para retornar un String:

String nombreMétodo()
{
//Sentencias del método
return valorQueDebeRetornar;
}

Hay que tener en cuenta que la sentencia return termina la ejecución del método, por lo que debe escribirse en el lugar donde no deba ejecutarse posteriormente ninguna otra sentencia.

Siguiendo el ejemplo de la clase Alumno, se puede declarar un método dameGrupo que obtenga el grupo en el que se encuentra un determinado alumno:

String dameGrupo()
{
return grupo;
}

El valor retornado puede ser un atributo de la misma clase o cualquier otro dato, por ejemplo, un valor booelano que indique si el alumno es mayor de edad:

boolean esMayorEdad()
{
int añoActual = 2010;

if(añoActual - añoDeNacimiento >= 18)
return true;
else
return false;
}

Si el método no va a retornar ningún valor, se debe indicar con la palabra void delante del nombre, y no se emplea la sentencia return:

void nombreMétodo()
{
//Sentencias del método
}

Por ejemplo, se puede declarar un método que únicamente muestre por pantalla el grupo al que pertenece un alumno, sin que retorne ningún otro valor.

void muestraGrupo()
{
System.out.println("El alumno: " + nombre + " " + apellidos);
System.out.println("Pertenece al grupo: " + grupo);
}

En la declaración del método se debe informar de los parámetros que puede aceptar el método, indicando el tipo de dato y un nombre para dicho parámetro que se utilizará como una variable dentro del mismo. Se escriben después del nombre del método, entre paréntesis y separados por comas.

void asignaValores(String nom, String ape, int añoNac, int num, String gru, String turno)
{
//Asignación de valores a los atributos de la clase
nombre = nom;
apellidos = ape;
añoDeNacimiento = añoNac;
númeroPersonal = num;
grupo = gru;
turnoHorario = turno;
//Mostrar mensaje informativo
System.out.println("Valores asignados correctamente");
}

Creación de objetos

Teniendo una clase declarada, se pueden crear tantos objetos como se quiera de esa misma clase. En el ejemplo que seguimos, una vez declarada la clase Alumno, podemos declarar una serie de alumnos cuyas características serán los atributos de la clase Alumno, y sobre los que se podrán realizar las acciones indicadas en los métodos declarados en la misma clase Alumno.

A los objetos creados se les hace referencia a través de una variable cuyo tipo de dato será el nombre de la clase. Se debe declarar una variable por cada objeto que se vaya a crear, o bien un array que contenga varios objetos de la misma clase.

nombreClase nombreObjeto;

Por ejemplo:

Alumno alumno1;
Alumno alumno2;

La acción de declarar la variable que haga referencia al objeto no implica que se haya creado el objeto, tan sólo se ha declarado el nombre que hará referencia al objeto. Por tanto, se debe realizar además la creación del objeto utilizando la sentencia new seguido del nombre de la clase.

nombreObjeto = new nombreClase();

Por ejemplo:

alumno1 = new Alumno();

Se puede hacer la declaración de la variable y la creación del objeto en una misma línea:

Alumno alumno1 = new Alumno();

Se puede crear un array de objetos de una clase siguiendo el siguiente ejemplo:

//Crear el array de objetos
Alumno alumnos[] = new Alumno[3];
//Crear cada objeto
alumnos[0] = new Alumno();
alumnos[1] = new Alumno();
alumnos[2] = new Alumno();

Llamada a los métodos

Para que se ejecuten las sentencias contenidas en un método, se debe hacer una llamada al mismo. La llamada a un método de una determinada clase se realiza indicando el nombre del objeto (ojo, no el nombre de la clase) sobre el que se desea aplicar la ejecución del método seguido del nombre del método separado por un punto.

Si el método tiene declarados parámetros, en la llamada se deben indicar entre paréntesis los valores reales que se van a asignar a cada parámetro.

Además, si el método retorna un valor se debe asignar el resultado del método a una variable del mismo tipo.

nombreObjeto.nombreMétodo();
nombreObjeto.nombreMétodo(valor1, valor2, ...);
valorRetornado = nombreObjeto.nombreMétodo();
valorRetornado = nombreObjeto.nombreMétodo(valor1, valor2, ...);

Las llamadas a los métodos de una clase se puede hacer desde métodos de la misma clase o desde métodos de otra clase, por ejemplo, desde la clase Main.

Algunos ejemplos de llamadas a métodos de la clase Alumno:

//Crear un nuevo alumno
Alumno alumno1 = new Alumno();

//Llamada a un método con parámetros
alumno1.asignaValores("Luis", "Pérez", 1979, 1, "1DAI", "Tarde");

//Llamada a un método sin parámetros
alumno1.muestraGrupo();

//Llamada a un método con retorno de valor
boolean mayorEdad = alumno1.esMayorEdad();
if(mayorEdad)
System.out.println("Es mayor de edad");
//También se podría emplear directamente la llamada al método:
//if(alumno1.esMayorEdad())
// System.out.println("Es mayor de edad");

Creación de nueva clase en NetBeans

Dentro de un mismo archivo ".java" se pueden crear varias clases, aunque suele ser más claro y cómodo crear un nuevo archivo para cada clase.

Desde NetBeans se puede crear fácilmente una nueva clase Java desde el menú contextual del paquete de fuentes, o desde el menú "Archivo > Archivo Nuevo", seleccionado la opción "Clase Java".

clases01


Descargar proyecto de ejemplo de la clase Alumno

Portales de descarga de software libre

  • Open Source Living (Organizado por categorías)
  • Open Source Alternative (Alternativas al software comercial organizado por categorías y nombres de aplicaciones comerciales)
  • AlternativeTo (Buscardor de alternativas a cualquier aplicación. Secciones de Windows, Linux, Mac y Online)

Mostrar imágenes en Java

Dentro del método paint de un panel se puede insertar el código para que se cargue una imagen almacenada en un archivo, para que sea mostrada dentro de dicho panel.

Para incluir una imagen se debe llamar al método drawImage de la clase Graphics. A este método se le pasan cuatro parámetros: El primero de ellos es la referencia al objeto Image o BufferedImage que contiene la imagen a mostrar. El segundo y tercer parámetro indican la posición en la que se mostrará.

Para crear el objeto de la clase Image o BufferedImage se puede utilizar el método read de la clase ImageIO, al que se le para la referencia a un objeto File con la ruta al archivo que contiene la imagen.

public void paint(Graphics g)
{
super.paint(g);

BufferedImage img = null;
int posx=0, posy=0;
try
{
img = ImageIO.read(new File("src/recursos/ejemplo.png"));
}
catch (IOException e)
{
//Control de excepción si no se encuentra el archivo
}
g.drawImage(img, posx, posy, null);
}
En este ejemplo se mostraría la imagen "ejemplo.png" que se encuentra en la carpeta "src/recursos" del proyecto. Se indica la posición 0,0 por lo que aparecerá en la esquina superior izquierda del panel.

Principales eventos de ratón

Para obtener información de una acción del ratón sobre un determinado elemento de la ventana, o sobre una ventana, se debe crear un método asociado al evento deseado.

Para crear ese tipo de métodos desde NetBeans se dispone del menú contextual o la ventana de Propiedades de la parte derecha que dispone de una pestaña Eventos.

Al crear uno de estos métodos, automáticamente se define un parámetro que recoge información sobre el evento producido. Ese parámetro recibe el nombre evt si se crea automáticamente con NetBeans. Ese es el nombre que debe utilizarse para llamar a los métodos.

Por ejempo, uno de los métodos puede ser:

private void formMouseMoved(java.awt.event.MouseEvent evt)

Eventos

  • mouseMoved: se ha movido el ratón.
  • mouseClicked: se ha hecho clic con algún botón del ratón.
  • mouseWheelMoved: se ha movido la rueda del ratón.
  • mouseDragged: se ha movido el ratón manteniendo pulsado algún botón.
  • mousePressed: se ha pulsado algún botón.
  • mouseReleased: se ha soltado algún botón.
  • mouseEntered: el puntero del ratón está sobre el elemento en el que está definido el evento.
  • mouseExited: el puntero del ratón ha dejado de estar sobre el elemento en el que está definido el evento.

Métodos

  • evt.getX() y evt.getY() permiten obtener la posición (coordenadas X e Y) en la que se encuentra el puntero del ratón respecto al objeto donde se haya definido el evento.
  • evt.getButton() retorna un valor entero con el número del botón pulsado (1: izquierdo, 2: central o rueda, 3: derecho).
  • evt.getClickCount() retorna el número de clic seguidos que se han realizado.
  • evt.getWheelRotation() retorna 1 cada vez que se mueve la rueda hacia atrás y -1 si se hace hacia delante.

Ejemplo


private void panel1MouseClicked(java.awt.event.MouseEvent evt)
{
System.out.print("Se ha hecho clic en: ");
System.out.println(evt.getX() + "," + evt.getY());
System.out.print("Con el botón: ");
switch(evt.getButton())
{
case 1:
System.out.println("izquierdo");
break;
case 2:
System.out.println("central o la rueda");
break;
case 3:
System.out.println("derecho");
break;
}
System.out.print("Se ha pulsado ");
System.out.println(evt.getClickCount() + " veces seguidas");
}

Centrar las ventanas creadas con NetBeans en Java

Por defecto, las ventanas que se crean en Java con NetBeans se muestran, al ejecutar el programa, en la esquina superior izquierda (posición 0,0). Si se desea que aparezcan en el centro de la pantalla se debe hacer modificando el código generado. Hay que localizar el método constructor de la ventana que se llamará igual que el nombre del archivo .java que la contiene. En él se encuentra una llamada al método initComponents(). Después de esa llamada se debe indicar la instrucción: setLocationRelativeTo(null); Por ejemplo, para una ventana llamada "Ventana":
public Ventana() {       initComponents();       setLocationRelativeTo(null); }

Vectores en Java

Programa que carga automáticamente en un vector las letras del abecedario indicando el tamaño del vector en una constante.
public class Vectores2
{
public static void main(String args[])
{
final int TAMANO = 26;
char listaLetras[] = new char[TAMANO];
char letra = 'A';

//Asignacion de letras a cada elemento del vector
for(int i=0; i<TAMANO; i++)
{
listaLetras[i] = letra;
letra++;
}

//Mostrar en pantalla el vector
for(int i=0; i<TAMANO; i++)
{
System.out.print(listaLetras[i]+" ");
}
}
}

Matrices en Java (Ejemplo 1)

Programa que genera una matriz de dos dimensiones con letras del alfabeto, mostrándola posteriormente en pantalla.
public class Matrices1
{
public static void main(String args[])
{
final int FILAS = 3;
final int COLUMNAS = 5;
char letras[][] = new char[FILAS][COLUMNAS];
char letraQueToca = 'A';

//Carga las letras en la matriz
for(int f=0; f<FILAS; f++)
{
for(int c=0; c<COLUMNAS; c++)
{
letras[f][c] = letraQueToca;
letraQueToca++;
}
}

//Mostrar en pantalla la matriz
for(int c=0; c<COLUMNAS; c++)
System.out.print("--");
System.out.println("-");

for(int f=0; f<FILAS; f++)
{
System.out.print("|");
for(int c=0; c<COLUMNAS; c++)
{
System.out.print(letras[f][c]+"|");
}
System.out.println();
for(int c=0; c<COLUMNAS; c++)
System.out.print("--");
System.out.println("-");
}

}
}

Ventana de selección de archivos en Java

La clase JFileChooser (Requiere importar javax.swing.JFileChooser) permite abrir una ventana de diálogo en la que el usuario pueda seleccionar un archivo para realizar una acción sobre él (por ejemplo, abrirlo).

//Crear un objeto FileChooser
JFileChooser fc = new JFileChooser();
//Mostrar la ventana para abrir archivo y recoger la respuesta
//En el parámetro del showOpenDialog se indica la ventana
// al que estará asociado. Con el valor this se asocia a la
// ventana que la abre.
int respuesta = fc.showOpenDialog(this);
//Comprobar si se ha pulsado Aceptar
if (respuesta == JFileChooser.APPROVE_OPTION)
{
//Crear un objeto File con el archivo elegido
File archivoElegido = fc.getSelectedFile();
//Mostrar el nombre del archvivo en un campo de texto
txtNombre.setText(archivoElegido.getName());
}

Si en vez de utilizar la ventana de diálogo para abrir un archivo se desea utilizar la ventana para guardar un archivo se debe utilizar el método showSaveDialog en vez de showOpenDialog.

int respuesta = fc.showSaveDialog(this);

Para seleccionar directorios en vez de archivos hay que utilizar el siguiente método antes de llamar a ShowOpenDialog o ShowSaveDialog:

fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);

Es posible modificar el directorio que se muestra al abrir la ventana utilizando el método setCurrentDirectory al que se le debe pasar por parámetro un objeto File con la ruta del directorio.

//Cambiar al direcrio Windows
fc.setCurrentDirectory(new File("c:/windows/"));
//O bien usando dos barras invertidas
fc.setCurrentDirectory(new File("c:\\windows\\"));

Matrices en Java (Lotería Primitiva)

Programa que muestra el número de apuestas que son necesarias para que se acierten 6 números dados en la lotería primitiva.
public class Primitiva
{
public static void main(String args[])
{
int apuesta[] = {22,28,3,13,40,7};
int aciertos, bola, apuestas=0;

do
{
aciertos = 0;
apuestas++;
for(int i=0;i<6;i++)
{
bola = (int)(Math.random()*49)+1;
for(int j=0;j<6;j++)
{
if(bola==apuesta[j])
aciertos++;
}
}
}while(aciertos<6);
System.out.println("Apuestas realizadas: "+apuestas);
}
}

Gráficos en Java

Una de las formas de manejar gráficos en Java es crear un objeto JPanel, sobre el que se realizarán las operaciones de dibujo, y luego integrarlo en una ventana JFrame con NetBeans.

Para ello, en el proyecto de NetBeans se debe crear un nuevo "Formulario JPanel".


Una vez creado el JPanel se debe crear, dentro de su código fuente, el método paint, el cual será un método que sobreescribe el que posee dicha clase.

Se debe indicar de la siguiente forma:


(Una forma automática de escribir este código es utilizar el menú Fuente > Insertar código > Redefinir método, y dentro del objeto JComponent seleccionar el método paint y hacer clic en el botón Generar).

Es un método público (public), que no retorna ningún valor (void) y al que se pasa como parámetro un objeto de la clase Graphics al que se le llama g.

Este método es llamado automáticamente cuando se muestra en pantalla el panel, o bien, se puede utilizar en un momento determinado cuando se llama desde el código al método repaint.

En el método conviene hacer una llamada al mismo objeto de la clase padre (super.paint(g)) para que se muestren los objetos que tenga asociados el panel. Posteriormente se pueden escribir las sentencias que creen el dibujo. Un ejemplo de dichas sentencias puede ser:
g.drawLine(20, 10, 30, 50);
que dibuja una línea desde la posición (20,10) hasta la (30,50).

Hay que tener en cuenta que la posición (0,0) está en la esquina superior izquierda del panel.

Todos los métodos de la clase Graphics que se vayan a utilizar para realizar el dibujo deben llamarse indicando el objeto g, o el que se haya especificado en el parámetro del método paint, utilizando el formato:
g.nombreMétodo(parámetros);

Tras escribir el código fuente es el momento de integrar ese JPanel en el diseño de un formulario JFrame que debe crearse dentro mismo proyecto. Para ello, basta con hacer clic sobre el JPanel en el explorador de Proyectos de la parte izquierda, y arrastrarlo dentro de la ventana JFrame en el lugar deseado.


Se pueden consultar todos los métodos de la clase Graphics en la API de Java.

Insertar una nueva clase Java en NetBeans como nuevo archivo

En NetBeans resulta bastante sencillo añadir nuevas clases al proyecto creado añadiéndole un nuevo archivo.

Para ello, simplemente hay que elegir la opción "Archivo >Archivo Nuevo ..." y completar un par de ventanas de diálogo que aparecen.

En primer lugar se debe indicar el tipo al que corresponde el nuevo archivo a crear. Hay que seleccionar la categoría "Java" y el tipo de archivo "Class Java". Conviene observar en la parte superior de la ventana que el proyecto indicado en la lista desplegable sea el deseado. Se puede continuar haciendo clic en el botón "Siguiente >".

A continuación hay que especificar el nombre de la clase que va a contener este archivo, observando que aparece el paquete correcto en el que se debe incluir.

Tras pulsar "Terminar" aparece la plantilla de la nueva clase en la parte de edición, y en la parte izquierda aparece, en el árbol del proyecto, el nuevo archivo .java que se ha creado.

Programa para comprobar si un número es primo

Diagrama de flujo


Java
import java.util.Scanner;
public class EsPrimo
{
public static void main(String args[])
{
int num, i;
boolean primo;
Scanner teclado = new Scanner(System.in);

//Se espera que el usuario introduzca un número correcto
do
{
try
{
System.out.print("\nIntroduzca un número entero positivo: ");
num = teclado.nextInt();
}
catch(Exception e)
{
teclado.nextLine();
num = -1; //Se asigna un valor negativo para que continúe en el bucle
}
if(num<=0)
System.out.println("ERROR: no ha introducido un número entero positivo");
}while(num<=0);

if(num==1)
primo = true; //Caso especial
else
{
i = 2;
//Se comprueba si hay algún divisor a partir del 2
while (num%i!=0)
i++;
//Si el divisor encontrado es el mismo número, es primo
if (num==i)
primo=true;
else
primo=false;
}
System.out.print("\nEl número "+num);
if(!primo)
System.out.print(" no");
System.out.println(" es primo");
}
}