Implementar un programa que realice la Ecuación de la Recta y determine la distancia del punto medio.
Panel.java
package EcuacionRecta;
//para iniciar la aplicación es necesario importar las librerías
//fichero de gráficos
import java.awt.*;
import java.awt.Graphics;
public class panel extends javax.swing.JPanel {
//creo variables
private int x0, y0;
private int x1, y1;
//inicializo variables con el método de escritura setter
public void setX0(int x0) {
this.x0 = x0;
}
public void setX1(int x1) {
this.x1 = x1;
}
public void setY0(int y0) {
this.y0 = y0;
}
public void setY1(int y1) {
this.y1 = y1;
}
public panel() {
initComponents();
}
@SuppressWarnings("unchecked")
@Override
//Método de la interfaz dibujable
public void paint(Graphics g) {
super.paint(g);
g.setColor(Color.orange);
g.drawLine(this.x0, this.y0, this.x1, this.y1);
//Genero cálculos para las diferentes funciones de la ecuación de recta
Calculos obj1 = new Calculos(this.x0, this.y0, this.x1, this.y1);
double mx = obj1.PMedio_x();
double my = obj1.PMedioY();
double p = obj1.DistanciaPuntos();
double d = obj1.PTotal();
//VARIABLES VISUALIZADAS EN LA PANTALLA
String recta1 = "Punto_X =" + String.valueOf(mx);
String recta2 = "Punto_Y=" + String.valueOf(my);
String PMedio = "Punto Medio" + String.valueOf(d);
String Distancia = "Distancia=" + String.valueOf(p);
//ESCRIBO LAS COORDENADAS EN EL EJE X Y EL EJE Y EN LA EJECUCION
g.drawString(recta1, 5, 10);
g.drawString(recta2, 200, 10);
g.drawString(PMedio, 5, 40);
g.drawString(Distancia, 200, 40);
}
//PARA PODER VOLVER A DIBUJAR
public void DibujarLineaRecta() {
repaint();
}
// Variables declaration - do not modify
// End of variables declaration
} //fin de la clase panel
Principal .java
package EcuacionRecta;
public class principal extends javax.swing.JFrame {
public principal() {
initComponents();
}
Generated Code
//Genero código desde el botón graficar
//insert code Jcomponent llamo al metodo paint(grapichs.g)
private void GraficarActionPerformed(java.awt.event.ActionEvent evt) {
int X0=Integer.parseInt(this.txtX0.getText());
int Y0=Integer.parseInt(this.txtY0.getText());
int X1=Integer.parseInt(this.txtX1.getText());
int Y1=Integer.parseInt(this.txtY1.getText());
//Llamo al panel para poder graficar
panel1.setX0(X0);
panel1.setY0(Y0);
panel1.setX1(X1);
panel1.setY1(Y1);
panel1.DibujarLineaRecta();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new principal().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton Graficar;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JPanel jPanel1;
private EcuacionRecta.panel panel1;
private javax.swing.JTextField txtX0;
private javax.swing.JTextField txtX1;
private javax.swing.JTextField txtY0;
private javax.swing.JTextField txtY1;
// End of variables declaration
}//fin de la clase principal
Calculos.java
package EcuacionRecta;
public class Calculos {
//Declaro Atributos y variables de instancia
private int x0, x1;
private int y0, y1;
//método constructor-convencional, dar clic derecho, insert code, constructor, aparece sintaxis
public Calculos (int x0, int y0, int x1, int y1){
this.x0=x0;
this.y0=y0;
this.x1=x1;
this.y1=y1;
}
//para calcular el punto medio en X de la ecuación de la recta
public double PMedio_x (){
double mx= ((this.x0+this.x1)/2);
//retorna valor en x
return mx;
}
//para calcular el punto medio en Y de la ecuación de la recta
public double PMedioY(){
double my=((this.y0+this.y1)/2);
//retorna valor en y
return my;
}
//Calcula la distancia los puntos X y Y
public double DistanciaPuntos(){
double p = Math.sqrt((Math.pow((this.x1 - this.x0), 2)) + (Math.pow((this.y1 - this.y0), 2)));
//Retorna el valor de la distancia
return p;
}
//Calcula el punto medio total entre X y Y
public double PTotal(){
double d =this.DistanciaPuntos();
double PTotal = d/2;
//retorna el valor del punto medio total
return PTotal;
}
}//Fin de la clase Calculos
Capturas de Pantalla
Panel
Principal
Calculos.java
Prueba de Ejecución del programa