import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class Ascultator implements MouseListener{
Interfata i;
private Point[] puncte = new Point[50];
private Integer contor = 0;
public Ascultator(Interfata x){
this.i = x;
}
@Override
public void mousePressed(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
++contor;
this.puncte[contor]=e.getPoint();
System.out.println("Coordonatele punctului "+ contor + " " +this.puncte[contor].x +" "+this.puncte[contor].y);
if(this.contor % 3 == 0){
System.out.println("Am ajuns la 3 elemente desenam un poligon");
this.i.getP().validate();
this.i.getP().repaint();
}
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
public Point[] getPuncte() {
return puncte;
}
public void setPuncte(Point[] puncte) {
this.puncte = puncte;
}
public Integer getContor() {
return contor;
}
public void setContor(Integer contor) {
this.contor = contor;
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
}
import java.awt.Dimension;
import javax.swing.JFrame;
public class Interfata extends JFrame {
private Ascultator asc = new Ascultator(this);
private Plansa p= new Plansa(asc);
public Plansa getP() {
return p;
}
public void setP(Plansa p) {
this.p = p;
}
public Interfata(){
this.setVisible(true);
this.setSize(new Dimension(250,250));
this.getContentPane().add(p);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
p.addMouseListener(asc);
}
}
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Point;
public class Plansa extends Canvas{
private Ascultator a;
public Plansa(Ascultator a){
this.a= a;
this.setBackground(Color.white);
this.setSize(new Dimension(150,150));
}
public void update(Graphics g){
paint(g);
}
public void paint(Graphics g){
g.setColor(Color.black);
try{
if(this.a.getContor() %3 == 0 && this.a.getContor() != 0 ){
g.drawLine(this.a.getPuncte()[a.getContor()-1].x,this.a.getPuncte()[this.a.getContor()-1].y,this.a.getPuncte()[a.getContor()].x,this.a.getPuncte()[this.a.getContor()].y);
g.drawLine(this.a.getPuncte()[a.getContor()-2].x,this.a.getPuncte()[this.a.getContor()-2].y,this.a.getPuncte()[a.getContor()].x,this.a.getPuncte()[this.a.getContor()].y);
g.drawLine(this.a.getPuncte()[a.getContor()-1].x,this.a.getPuncte()[this.a.getContor()-1].y,this.a.getPuncte()[a.getContor()-2].x,this.a.getPuncte()[this.a.getContor()-2].y);
System.out.println("contor" + this.a.getContor());
}
}catch(NullPointerException e){}
}
}
public class Test {
public static void main(String[] args) {
Interfata i = new Interfata();
i.validate();
i.repaint();
}
}
Niciun comentariu:
Trimiteți un comentariu