Panel
package Zadanie1;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import javax.swing.*;
import EditTextRead.Point2D;
public class Panel extends JPanel {
JTextField p1x;
JTextField p1y;
JTextField p2x;
JTextField p2y;
JTextField p3x;
JTextField p3y;
JTextField p4x;
JTextField p4y;
JTextField p5x;
JTextField p5y;
JTextField pole;
JTextField obwod;
JButton start;
JButton cancel;
JButton stop;
String p1xs,p1ys,p2ys,p2xs,p3xs,p3ys,p4xs,p4ys,p5xs,p5ys;
double x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,area,l;
int x1i,y1i,x2i,y2i,x3i,y3i,x4i,y4i,x5i,y5i;
int draw;
double a,b,c,d,e,s;
public Panel(){
setLayout(null);
p1x=new JTextField(20);
p1y=new JTextField(20);
p2x=new JTextField(20);
p2y=new JTextField(20);
p3x=new JTextField(20);
p3y=new JTextField(20);
p4x=new JTextField(20);
p4y=new JTextField(20);
p5x=new JTextField(20);
p5y=new JTextField(20);
obwod=new JTextField(20);
pole=new JTextField(20);
start=new JButton("START");
cancel=new JButton("CANCEL");
stop=new JButton("STOP");
p1x.setBounds(100,100,80,20);
p1y.setBounds(200,100,80,20);
p2x.setBounds(500,100,80,20);
p2y.setBounds(600,100,80,20);
p3x.setBounds(500,600,80,20);
p3y.setBounds(600,100,80,20);
p4x.setBounds(100,400,80,20);
p4x.setBounds(200,400,80,20);
p5x.setBounds(300,600,80,20);
p5x.setBounds(400,600,80,20);
pole.setBounds(800,700,80,20);
obwod.setBounds(900,700,80,20);
start.setBounds(700,800,80,20);
cancel.setBounds(800,800,80,20);
stop.setBounds(900,800,80,20);
add(p1x);
add(p1y);
add(p2x);
add(p2y);
add(p3x);
add(p3y);
add(p4x);
add(p4y);
add(p5x);
add(p5y);
add(pole);
add(obwod);
add(start);
add(cancel);
add(stop);
ActionListener listStart=new Sluchacz();
start.addActionListener(listStart);
ActionListener listCancel=new Sluchacz();
cancel.addActionListener(listCancel);
ActionListener listStop= new Sluchacz();
stop.addActionListener(listStop);
}
class Sluchacz implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==start)
{
p1xs=p1x.getText();
p1ys=p1y.getText();
p2xs=p2x.getText();
p2ys=p2y.getText();
p3xs=p3x.getText();
p3ys=p3y.getText();
p4xs=p3y.getText();
p4ys=p3y.getText();
p5xs=p3y.getText();
p5ys=p3y.getText();
x1=Double.parseDouble(p1xs);
y1=Double.parseDouble(p1ys);
x2=Double.parseDouble(p2xs);
y2=Double.parseDouble(p2ys);
x3=Double.parseDouble(p3xs);
y3=Double.parseDouble(p3ys);
x4=Double.parseDouble(p4xs);
y4=Double.parseDouble(p4ys);
x5=Double.parseDouble(p5xs);
y5=Double.parseDouble(p5ys);
draw=1;
repaint();
}
if(e.getSource()==cancel) {
p1xs=p1x.getText();
p1ys=p1y.getText();
p2xs=p2x.getText();
p2ys=p2y.getText();
p3xs=p3x.getText();
p3ys=p3y.getText();
p4xs=p3y.getText();
p4ys=p3y.getText();
p5xs=p3y.getText();
p5ys=p3y.getText();
x1=Double.parseDouble(p1xs);
y1=Double.parseDouble(p1ys);
x2=Double.parseDouble(p2xs);
y2=Double.parseDouble(p2ys);
x3=Double.parseDouble(p3xs);
y3=Double.parseDouble(p3ys);
x4=Double.parseDouble(p4xs);
y4=Double.parseDouble(p4ys);
x5=Double.parseDouble(p5xs);
y5=Double.parseDouble(p5ys);
draw=-1;
repaint();
}
if(e.getSource()==stop) {
p1xs=p1x.getText();
p1ys=p1y.getText();
p2xs=p2x.getText();
p2ys=p2y.getText();
p3xs=p3x.getText();
p3ys=p3y.getText();
p4xs=p3y.getText();
p4ys=p3y.getText();
p5xs=p3y.getText();
p5ys=p3y.getText();
x1=Double.parseDouble(p1xs);
y1=Double.parseDouble(p1ys);
x2=Double.parseDouble(p2xs);
y2=Double.parseDouble(p2ys);
x3=Double.parseDouble(p3xs);
y3=Double.parseDouble(p3ys);
x4=Double.parseDouble(p4xs);
y4=Double.parseDouble(p4ys);
x5=Double.parseDouble(p5xs);
y5=Double.parseDouble(p5ys);
draw=0;
repaint();
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
BasicStroke dim=new BasicStroke(5f);
g2.setStroke(dim);
g2.setColor(Color.RED);
if(draw==1)
{
x1i=(int)x1; y1i=(int)y1; x2i=(int)x2;
y2i=(int)y2; x3i=(int)x3; y3i=(int)y3;
x4i=(int)x4; y4i=(int)y4; x5i=(int)x5; y5i=(int)y5;
g2.drawLine(x1i, y1i, x2i, y2i);
g2.drawLine(x2i, y2i,x3i, y3i);
g2.drawLine(x3i, y3i, x4i, y4i);
g2.drawLine(x4i, y4i, x5i, y5i);
g2.drawLine(x5i, y5i, x1i, y1i);
Point2D p1=new Point2D(x1,y1);
Point2D p2=new Point2D(x2,y2);
Point2D p3=new Point2D(x3,y3);
Point2D p4=new Point2D(x4,y4);
Point2D p5=new Point2D(x5,y5);
a=p1.dist(p1, p2);
b=p2.dist(p2, p3);
c=p3.dist(p3, p4);
d=p4.dist(p4, p5);
e=p5.dist(p5, p1);
s=p1.pole(a,b,c,d,e);
g2.drawString("Pole= "+ s,700,700);
g2.drawString("a= "+a+" b= "+b+" c= "+c+"d= "+d+"e= "+e,700,750);
l=a+b+c+d+e;
obwod.setText("obw= "+l);
draw=0;
}
}
}
}