Desarrollar un
ejercicio en NetBeans java con la primitiva grafica Poligono.
1.- Crear un nuevo proyecto, abriremos netbeans y
le daremos en archivo luego la opción nuevo proyecto, después se desplegara
esta ventana y escogemos la categoría java y a la derecha de la misma ventana
escogemos la opción Java class Library y luego presionamos next o siguiente.
Ahora le daremos un nombre a nuestro proyecto y será Polígono

2.- Ahora crearemos un paquete, le daremos clic
derecho sobre la opción con el nombre (default package) luego New y
después escogemos la opción Java Package.
Ahora se desplegara esta ventana debes poner un nombre en este caso será (graficarpoligono) y le damos Finish.
Ahora de
la misma forma crearemos un JFRAME daremos click derecho sobre el paquete graficarpoligono
luego la opción new y después la opción Jframe form.
Despues se desplegara esta ventana deberemos poner un nombre y sera PAINT ya que esta sera la que se ejecutara cuando mandemos a copilar la aplicación.
Ahora
igual que creamos el jframe crearemos un JPANEL seguimos los mismos pasos pero
ahora escogeremos la opción Jpanel y
después le daremos un nombre q será AreaDibujo
Después también crearemos una clase que se llamara Punto.
Si
siguieron los pasos correctamente el proyecto quedara de esta forma:
3.- Ahora nos ubicaremos dentro del JPANEL le
damos click derecho sobre AreaDibujo (Jpanel)
y damos click sobre la opción Open donde escribiremos la siguiente
programación:
Luego escogemos
la pestaña source y aquí es donde
meteremos el algoritmo gráfico
Primero importaremos la clase punto:
package graficarpoligono;
import graficarpoligono.Punto;
import
java.awt.Graphics;
Ahora declaramos un
arreglo y las variables para el radio y el número de lados:
public class AreaDibujo extends javax.swing.JPanel {
private Punto[] vertices;
private int X;
private int Y;
private int Radio;
private int Lados;
Aqui generamos las
propiedades de lestura de las variables que creamos:
public void setRadio(int Radio) {
this.Radio = Radio;
}
public void setLados(int
Lados) {
this.Lados = Lados;
}
Aquí inicializamos las
variables en cero:
public AreaDibujo() {
initComponents();
this.X=0;
this.Y=0;
this.Lados=0;
this.Radio=0;
}
Bien ahora viene la
parte más importante de este ejercicio q es donde pondremos el ALGORITMO DE LA
PRIMITIVA POLIGONO:
@Override
public void paint(Graphics g)
{
super.paint(g);
for(int
t=1;t<=this.Lados-1;t++)
{
int dx=0,dy=0;
int x1 =
vertices[t].getX();
int x0 =
vertices[t-1].getX();
int y1 =
vertices[t].getY();
int y0 =
vertices[t-1].getY();
dx = x1 - x0;
dy = y1 - y0;
if (Math.abs(dx) >
Math.abs(dy))
{
float m = (float)
dy / (float) dx;
float b = y0 - m *
x0;
if(dx<0)
dx = -1;
else
dx =
1;
while (x0 != x1)
{
x0 += dx;
y0 =
Math.round(m*x0 + b);
g.drawLine( x0, y0, x0, y0);
}
} else
if (dy != 0)
{
float m = (float)
dx / (float) dy;
float b = x0 -
m*y0;
if(dy<0)
dy = -1;
else
dy = 1;
while (y0 != y1)
{
y0 += dy;
x0 = Math.round(m * y0
+ b);
g.drawLine( x0, y0, x0, y0);
}
}
}//fin for
if (this.Lados>0)
g.drawLine(
vertices[this.Lados -1].getX(), vertices[this.Lados -1].getY(),
vertices[0].getX(), vertices[0].getY());
}
public void DibujarPoligono()
{
Poligonos();
repaint();
}
private void Poligonos()
{
double alfa;
int a, b;
vertices = new
Punto[this.Lados];
alfa = 2 * Math.PI /
this.Lados;
for(int
i=0;i<=this.Lados-1;i++)
{
a= this.X + (int)
(this.Radio * Math.cos((i - 1) * alfa));
b= this.Y + (int)
(this.Radio * Math.sin((i - 1) * alfa));
vertices[i]= new
Punto(a,b);
}
}
Este codigo se genera
automatcamente cuando se genera o crea el JPANEL
@SuppressWarnings("unchecked")
Luego de esto crearemos
un evento, esto lo haremos ubicándonos en la pestaña design que se encuentra en la parte superior luego
luego daremos click derecho sobre el panel que es la zona anaranjada luego
escogemos la opción Events y después mouse y después el evento (formMousePressed), Luego de eso se generara
un código dentro de el pondremos el siguiente código:
Esto es para capturar la
coordenada del punto centro donde se dibujara el polígono
private void formMousePressed(java.awt.event.MouseEvent evt) {
// TODO add your handling
code here:
this.X = evt.getX();
this.Y = evt.getY();
}
}
}
4.-Ahora dentro de la clase punto en la pestaña source pondremos el siguiente codigo
PASO 5: Ahora diseñaremos el formulario (Jframe)
Aquí hemos utilizado:
·
Dos caja de texto
·
Dos label
·
Un botón
Ahora arrastraremos con el mouse el
Jpanel de nombre AreaDibujo que se encuentra en la parte izquierda hasta el
centro del formulario que diseñamos anteriormente ósea hasta el
Jframe
6.- Ahora en el mismo formulario entraremos a la pestaña
source para escribir el siguiente código:
· Ahora
solo fata dar doble click en el botón dibujar y pondremos el siguiente código
aquí llamamos al método (dibujarpoligono) que se encuentra en el Jpanel (AreaDibujo)
y capturamos el valor de la caja de texto(num_lados) y el de radio para
enviarlas a las variables q se declararon en el Jpanel
7.- Por ultimo
mandamos a ejecutar la aplicación para verificar que funcione correctamente,
aquí solamente daremos un click en cualquier parte del formulario para definir
en qué ubicación se dibujara el polígono y también hay q ingresar el numero de lados y el tamaño del radio del polígono
Como podemos ver el poligono se dibujó
correctamente espero que les haiga servido este manual se agradece sus
comentarios.
0 comentarios:
Publicar un comentario