Primero debemos crear 3 clases
- Formulario
- Lienzo
- Punto
La programación que va dentro de Punto es la siguiente:
package DibujandoPrimitivaCirculo;
public class Punto
{
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public Punto()
{
this.x=0;
this.y=0;
}
public String Coordenadas()
{
String cad="(X: "+this.x+",Y: "+this.y+")";
return cad;
}
}
En el lienzo pondremos la siguiente programación:
package DibujandoPrimitivaCirculo;
//importamos las siguientes clases
import java.awt.Color;
import java.awt.Graphics;
public class Lienzo extends javax.swing.JPanel
{
Punto P= new Punto();
Color color;
private int radio;
public void setRadio(int radio) {
this.radio = radio;
}
public Lienzo()
{
initComponents();
P.setX(0);
P.setY(0);
this.radio=0;
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
setBackground(new java.awt.Color(255, 255, 204));
addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(java.awt.event.MouseEvent evt) {
formMousePressed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
);
}// </editor-fold>
private void formMousePressed(java.awt.event.MouseEvent evt) {
P.setX(evt.getX());
P.setY(evt.getY());
}
// Variables declaration - do not modify
// End of variables declaration
@Override
public void paint(Graphics g)
{
super.paint(g);
double x,y;
double angulo=0;
do
{
x= P.getX() + this.radio * (float) Math.cos(angulo);
y= P.getY() + this.radio * (float) Math.sin(angulo);
g.setColor(Color.blue);
g.drawRect((int) x , (int) y, 0,0);
angulo = angulo + 0.005;
}while(angulo < 6.8);
g.drawString(P.Coordenadas(), 50, 50);
}
public void DibujarCirculo()
{
repaint();
}
}
LA EJECUCION DEL PROGRAMA QUEDARIA ASI
No hay comentarios:
Publicar un comentario