Ayuda con codigo - POO
Publicado por Daniel (4 intervenciones) el 24/03/2017 23:44:27
Construir una aplicación en lenguaje Java, orientada a objetos y con interfaz gráfica que calcule la distancia entre dos puntos. Las coordenadas de cada punto deben ser solicitadas al usuario mediante la interfaz gráfica.
Esto es lo que tengo hecho, el problema es que no se como hacer que el boton "BUSCAR" ejecute la accion que esta en la clase Punto (getDistancia)
Aqui el codigo:
MAIN:
CLASE PUNTO;
CLASE VENTANA PRINCIPAL;
Esto es lo que tengo hecho, el problema es que no se como hacer que el boton "BUSCAR" ejecute la accion que esta en la clase Punto (getDistancia)
Aqui el codigo:
MAIN:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class PrincipalObjeto {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
VentanaPrincipal vp = new VentanaPrincipal();
vp.setTitle("Distancia Entre dos Puntos");
vp.setSize(300, 100);
vp.setResizable(Boolean.FALSE);
vp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
vp.setVisible(Boolean.TRUE);
vp.pack();
}
}
CLASE PUNTO;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public class Punto {
double X1, Y1;
double X2, Y2;
private Punto(double X1, double Y1, double X2, double Y2) {
this.X1 = X1;
this.Y1 = Y1;
this.X2 = X2;
this.Y2 = Y2;
}
public double getX1() {
return X1;
}
public void setX1(double X1) {
this.X1 = X1;
}
public double getY1() {
return Y1;
}
public void setY1(double Y1) {
this.X1 = Y1;
}
public double getX2() {
return X2;
}
public void setX2(double X2) {
this.X1 = X2;
}
public double getY2() {
return Y2;
}
public void setY2(double Y2) {
this.Y2 = Y2;
}
public double getDistancia() {
return (double) Math.sqrt(Math.pow(X2 - X1, 2) + Math.pow(Y2 - Y1, 2));
}
}
CLASE VENTANA PRINCIPAL;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
public class VentanaPrincipal extends JFrame implements ActionListener{
private JLabel labelX1;
private JLabel labelY1;
private JLabel labelX2;
private JLabel labelY2;
private JTextField textoX1;
private JTextField textoY1;
private JTextField textoX2;
private JTextField textoY2;
private JButton btnLimpiar;
private JButton btnBuscar;
private JPanel panelDatos;
private JPanel panelBotones;
public VentanaPrincipal(){
labelX1 = new JLabel("Punto X1");
labelY1 = new JLabel("Punto Y1");
labelX2 = new JLabel("Punto X2");
labelY2 = new JLabel("Punto Y2");
textoX1 = new JTextField();
textoY1 = new JTextField();
textoX2 = new JTextField();
textoY2 = new JTextField();
btnLimpiar = new JButton("Limpiar");
btnBuscar = new JButton("Buscar");
panelDatos = new JPanel();
panelBotones = new JPanel();
initGui();
}
private void initGui(){
GridLayout layoutDatos = new GridLayout(2,2);
layoutDatos.setHgap(2);
panelDatos.setLayout(layoutDatos);
panelDatos.add(labelX1);
panelDatos.add(textoX1);
panelDatos.add(labelY1);
panelDatos.add(textoY1);
panelDatos.add(labelX2);
panelDatos.add(textoX2);
panelDatos.add(labelY2);
panelDatos.add(textoY2);
panelBotones.setLayout(new FlowLayout());
panelBotones.add(btnBuscar);
panelBotones.add(btnLimpiar);
this.add(panelDatos,BorderLayout.CENTER);
this.add(panelBotones,BorderLayout.SOUTH);
btnBuscar.setActionCommand("BUSCAR");
btnLimpiar.setActionCommand("LIMPIAR");
btnBuscar.addActionListener(this);
btnLimpiar.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("LIMPIAR")){
this.textoX1.setText("");
this.textoY1.setText("");
this.textoX2.setText("");
this.textoY2.setText("");
} else
{
if(e.getActionCommand().equals("GUARDAR")){
Punto p = new Punto(//Se quiere agregar el metodo p.getRespuesta() ));
JOptionPane.showMessageDialog(this,p);
}
}
}
}
Valora esta pregunta
0