Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package geometrija;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import javax.swing.JComponent;
- import javax.swing.RepaintManager;
- import java.awt.event.MouseAdapter;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.MouseMotionAdapter;
- import java.awt.image.renderable.RenderContext;
- import java.util.ArrayList;
- import java.util.Iterator;
- public class CrtezBoss extends JComponent {
- int x;
- int y;
- int xEnd, xStart;
- int yEnd, yStart;
- int flag = 0;
- boolean klik = false;
- private Graphics g;
- int temp;
- public ArrayList<Oblik> lista = new ArrayList<Oblik>();
- public ArrayList<Oblik> listaUndo = new ArrayList<Oblik>();
- public ArrayList<Oblik> SvCPUVelikomucenik = new ArrayList<>();
- public static void main(String[] args) {
- }
- public CrtezBoss() {
- addMouseListener(new MouseAdapter() {
- @Override
- public void mousePressed(MouseEvent e) {
- if (Aplikacija.staRadim == CrtOpcija.DEFAULT) {
- }
- if (Aplikacija.staRadim == CrtOpcija.TACKA) {
- lista.add(new Tacka(e.getX(), e.getY()));
- } else if (Aplikacija.staRadim == CrtOpcija.LINIJA) {
- if (flag == 0) {
- xStart = e.getX();
- yStart = e.getY();
- flag = 1;
- } else {
- lista.add(new Linija(new Tacka(xStart, yStart), new Tacka(e.getX(), e.getY())));
- flag = 0;
- }
- } else if (Aplikacija.staRadim == CrtOpcija.KVADRAT) {
- DialKvadrat d1 = new DialKvadrat();
- d1.setVisible(true);
- lista.add(new Kvadrat(new Tacka(e.getX(), e.getY()), d1.getDuzinaStranice()));
- } else if (Aplikacija.staRadim == CrtOpcija.PRAVOUGAONIK) {
- DialPravougaonik d2 = new DialPravougaonik();
- d2.setVisible(true);
- lista.add(new Pravougaonik(new Tacka(e.getX(), e.getY()), DialPravougaonik.getDuzinaStranice(),
- DialPravougaonik.getVisina()));
- } else if (Aplikacija.staRadim == CrtOpcija.KRUG) {
- Tacka tCentar = new Tacka(e.getX(), e.getY());
- DialKrug d3 = new DialKrug();
- d3.setVisible(true);
- lista.add(new Krug(tCentar, DialKrug.getPoluprecnik()));
- } else if (Aplikacija.staRadim == CrtOpcija.SELEKTUJ) {
- temp = 1337;
- x = e.getX();
- y = e.getY();
- lista.forEach((a) -> {
- if (a.sadrzi(x, y) == true) {
- temp = lista.indexOf(a);
- }
- });
- if (lista.get(temp).isSelektovan() == true && temp!=1337 && lista.isEmpty()==false) {
- lista.get(temp).setSelektovan(false);
- } else if(temp!=1337 && lista.isEmpty()==false) {
- lista.get(temp).setSelektovan(true);
- }
- }
- }
- @Override
- public void mouseReleased(MouseEvent arg0) {
- // lista.forEach((a) -> {
- // if (a.isSelektovan() == true) {
- // a.selektovan(g);
- // }
- // a.crtajSe(g);
- // });
- revalidate();
- repaint();
- }
- });
- }
- public void paintComponent(Graphics g) {
- Iterator it = lista.iterator();
- Iterator un = listaUndo.iterator();
- if (Aplikacija.staRadim == CrtOpcija.OBRISI_SVE) {
- g.clearRect(0, 0, getWidth(), getHeight());
- lista.clear();
- Aplikacija.staRadim = CrtOpcija.DEFAULT;
- }
- if (Aplikacija.staRadim == CrtOpcija.UNDO) {
- if (!lista.isEmpty()) {
- listaUndo.add(lista.get(lista.size() - 1));
- lista.remove(lista.size() - 1);
- }
- Aplikacija.staRadim = CrtOpcija.DEFAULT;
- }
- if (Aplikacija.staRadim == CrtOpcija.REDO) {
- if (!listaUndo.isEmpty()) {
- lista.add(listaUndo.get(listaUndo.size() - 1));
- listaUndo.remove(listaUndo.size() - 1);
- }
- Aplikacija.staRadim = CrtOpcija.DEFAULT;
- }
- if (Aplikacija.staRadim == CrtOpcija.OBRISI) {
- lista.forEach((a) -> {
- if (a.isSelektovan()) {
- temp = lista.indexOf(a);
- }
- });
- lista.remove(lista.get(temp));
- Aplikacija.staRadim = CrtOpcija.DEFAULT;
- }
- lista.forEach((a) -> {
- if (a.isSelektovan() == true) {
- a.selektovan(g);
- }
- a.crtajSe(g);
- });
- //
- // getRootPane().validate();
- // getRootPane().repaint();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement