CÓDIGO DEL PROGRAMA PARA DIBUJAR LA ECUACION DE LA RECTA:CALCULAR LA DISTANCIA, PUNTO MEDIO
Código fuente del JFrame
package proyectorecta;
public class Frame extends javax.swing.JFrame {
public Frame() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {}
// Esta función lo que hace es inicializar todos los componentes gráficos de nuestro programa como por ejemplo caja de texto, botón, etiqueta, panel,etc.
private void DIBUJARActionPerformed (java.awt.event.ActionEvent evt) {
int X1 = Integer.parseInt(this.textX1.getText());
int Y1 = Integer.parseInt(this.textY1.getText());
int X2 = Integer.parseInt(this.textX2.getText());
int Y2 = Integer.parseInt(this.textY2.getText());
panel1.setX1(X1);
panel1.setY1(Y1);
panel1.setX2(X2);
panel1.setY2(Y2);
panel1.DibuRecta();
} //en este bloque de código se le da la acción al botón dibujar del programa utilizando 4 variables de tipo entero estas se obtiene su valor de la caja de texto luego eso valores que se obtuvieron los enviamos al jpanel mediante el setter (propiedades de escritura).
Después se procede a llamar al método DIBURECTA de la clase panel para que se realice la acción de dibujar la recta y se realicen los calculos respectivos.
private void textY1ActionPerformed(java.awt.event.ActionEvent evt) { }
private void textY2ActionPerformed(java.awt.event.ActionEvent evt) { }
private void textX2ActionPerformed(java.awt.event.ActionEvent evt) { }
private void textX1ActionPerformed(java.awt.event.ActionEvent evt) { }
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton DIBUJAR;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JPanel jPanel1;
private proyectorecta.Panel panel1;
private javax.swing.JTextField textX1;
private javax.swing.JTextField textX2;
private javax.swing.JTextField textY1;
private javax.swing.JTextField textY2;
// End of variables declaration
}
Código fuente del Jpanel
package proyectorecta;
import java.util.*;
import java.awt.*;
public class Panel extends javax.swing.JPanel {
private int x1,y1;
private int x2,y2;
//atributos de tipos enteros
public void setX1(int x1) {
this.x1 = x1;
}
public void setX2(int x2) {
this.x2 = x2;
}
public void setY1 (int y1) {
this.y1 = y1;
}
public void setY2 (int y2) {
this.y2 = y2;
}
// Este bloque de código se utilizó cuatros métodos de propiedades de escritura.
public Panel () {
initComponents();
}
@Override
public void paint (Graphics g) {
super.paint (g);
g.drawLine (this.x1, this.y1, this.x2, this.y2);
Calculos Obj = new Calculos(this.x1,this.y1,this.x2,this.y2);
double c=Obj.Distancia();
String pm= Obj.PuntoMedioX();
StringTokenizer s = new StringTokenizer(pm,"." );
int x = Integer.parseInt(s.nextToken());
int y = Integer.parseInt(s.nextToken());
String re="La distancia de la recta es "+String.valueOf( c);
g.drawString(re, 15,15);
String pme="El punto medio es "+String.valueOf(x)+","+String.valueOf(y);
g.drawString(pme, 15,30);
}
// en este bloque de código se va a sobrescribir el método paint el cual se ejecuta automáticamente, en este método lo que vamos hacer es dibujar una recta o línea, luego creamos un objeto de tipo calculo y le enviamos los parámetros, a su vez llamamos al método distancia que nos devuelva un tipo de dato doble, después llamamos al método de punto medio que nos retorna una cadena esa cadena la procedemos a dividir en dos valores asignados de forma separada es decir valor para “X” y “Y”, después se crea dos cadenas las cuales van a contener los valores de los métodos llamados y se imprime en pantalla .
public void DibuRecta(){
repaint ();
}
// creamos un método DibuRecta en el cual utilizamos un metodo repaint esto hace que vuelve a llamar al método paint en otras palabras actualizarnos la interfaz.
@SuppressWarnings ("unchecked")
private void initComponents () {}
}
Código de la clase “CALCULOS”
package proyectorecta;
public class Calculos {
private int x1,y1;
private int x2,y2;
// Atributos de tipos enteros
public Calculos(int x1, int y1, int x2, int y2) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
}
//constructor parametrizado
public double Distancia(){
double r;
r=Math.sqrt (Math.pow ((this.x2-this.x1), 2) +Math.pow ((this.y2-this.y1), 2));
return r ;}
// ESTE BLOQUE DE CODIGO SE PROCEDE: Al cálculo de la Distancia de la recta por medio de un método convencional de tipo decimal (double), esto se empleó porque la función MATH.SQRT nos puede retornar un valor decimal (double).
public String PuntoMedioX () {
int x, y;
x = (this.x1+this.x2) / 2;
y = (this.y1+this.y2) / 2;
String xy=String.valueOf(x) +"."+String.valueOf(y);
return xy;
}}
// ESTE BLOQUE DE CODIGO SE PROCEDE: Al cálculo del punto medio de la recta por medio de un método convencional de tipo cadena (String), en este se realiza dos procesos el primero para calcular “X” y el segundo para calcular “Y”. La línea que esta sombreada se realiza lo siguiente a String xy va a ser igual al valor de “X” y de “Y” los cuales están separados por un punto. Esto retornara una cadena (String).
Ejemplo de retorno: (4.6).
Suscribirse a:
Enviar comentarios (Atom)
3 comentarios:
WAOO VOY A PROBAR EL CODIGO EN BLUEJ JAVA A VER SI ME FUNCIONA
WAOO VOY A PROBAR EL CODIGO EN BLUEJ JAVA A VER SI ME FUNCIONA
en c# como seria las mismas formulas del punto medio y la ecuacion de la recta con la pendiente ya resuelto
Publicar un comentario