Guest User

Untitled

a guest
Jan 21st, 2018
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.51 KB | None | 0 0
  1. import java.util.*;
  2. import java.awt.*;
  3. import java.applet.Applet;
  4. import java.awt.event.*;
  5. import java.awt.MenuItem.*;
  6. import java.awt.event.MouseEvent;
  7. import java.awt.geom.*;
  8.  
  9. public class events extends Applet implements MouseListener, MouseMotionListener, ActionListener
  10. {
  11.  
  12. PopupMenu popup;
  13. int mouseX1, mouseY1, mouseX2, mouseY2;
  14. int x_click,y_click;
  15. Graphics2D gg;
  16. Color[] culoare=new Color[] {Color.red,Color.green, Color.blue, Color.yellow, Color.black};
  17. String[] numeFigura = new String[] {"linie", "dreptunghi", "cerc"};
  18. String[] numeCuloare = new String[] {"rosu", "verde", "albastru", "galben","negru"};
  19. boolean PaintByDrag;
  20.  
  21. Vector figuri,culori;
  22. int indexCulori,indexFiguri;
  23.  
  24. String mouseClickedStr,mousePressedStr,mouseDraggedStr;
  25. String drawModeStr,drawColorStr;
  26.  
  27. public void init()
  28. {
  29. addMouseListener(this);
  30. addMouseMotionListener(this);
  31.  
  32. figuri=new Vector();
  33. culori=new Vector();
  34.  
  35. popup=new PopupMenu();
  36. Menu figura=new Menu("Figuraa");
  37. popup.add(figura);
  38.  
  39.  
  40. for (int i=0;i<numeFigura.length;i++)
  41. {
  42. MenuItem mi=new MenuItem(numeFigura[i]);
  43. mi.setActionCommand(numeFigura[i]);
  44. mi.addActionListener(this);
  45. figura.add(mi);
  46. }
  47.  
  48. Menu culoare=new Menu("Culoare");
  49. popup.add(culoare);
  50. //System.exit(3);
  51. Menu deseneaza=new Menu("Deseneaza");
  52. popup.add(deseneaza);
  53. MenuItem muu=new MenuItem("Acum");
  54. muu.setActionCommand("Acum");
  55. muu.addActionListener(this);
  56. deseneaza.add(muu);
  57. for (int i=0;i<numeCuloare.length;i++)
  58. {
  59. MenuItem mi=new MenuItem(numeCuloare[i]);
  60. mi.setActionCommand(numeCuloare[i]);
  61. mi.addActionListener(this);
  62. culoare.add(mi);
  63. }
  64.  
  65. indexFiguri = 0;
  66. indexCulori = 0;
  67.  
  68. mouseClickedStr = "";
  69. mousePressedStr = "";
  70. mouseDraggedStr = "";
  71. drawModeStr = "Modul de desenare "+numeFigura[indexFiguri];
  72. drawColorStr = "Culoarea "+numeCuloare[indexCulori];
  73.  
  74.  
  75.  
  76. this.add(popup);
  77.  
  78. /*
  79. * Adaugam 2 figuri
  80. */
  81. figuri.addElement((new Line2D.Double(60,60,180,180)));
  82. culori.addElement((Integer)0);
  83.  
  84. figuri.addElement(new Rectangle2D.Double(270,270,100,100));
  85. culori.addElement((Integer)1);
  86.  
  87.  
  88. }
  89.  
  90. public void processMouseEvent(MouseEvent me)
  91. {
  92. if (me.isPopupTrigger())
  93. popup.show(this,me.getX(),me.getY());
  94. else super.processMouseEvent(me);
  95. }
  96.  
  97.  
  98. public void actionPerformed(ActionEvent event)
  99. {
  100. String command = event.getActionCommand();
  101.  
  102. if(command.equals("linie")) linie();
  103.  
  104. if (command.equals("dreptunghi")) dreptunghi();
  105.  
  106. if (command.equals("cerc")) cerc();
  107.  
  108. if (command.equals("rosu")) rosu();
  109.  
  110. if (command.equals("verde")) verde();
  111.  
  112. if (command.equals("albastru")) albastru();
  113.  
  114. if (command.equals("galben")) galben();
  115.  
  116. if (command.equals("negru")) negru();
  117.  
  118. if (command.equals("Acum")) {
  119.  
  120. paintIt();
  121. }
  122.  
  123. }
  124.  
  125. public void linie()
  126. {
  127. indexFiguri=0;
  128.  
  129. drawModeStr = "Modul de desenare "+numeFigura[indexFiguri];
  130. }
  131.  
  132. void dreptunghi()
  133. {
  134. indexFiguri=1;
  135.  
  136. drawModeStr = "Modul de desenare "+numeFigura[indexFiguri];
  137. }
  138.  
  139. void cerc()
  140. {
  141. indexFiguri=2;
  142.  
  143. drawModeStr = "Modul de desenare "+numeFigura[indexFiguri];
  144. }
  145.  
  146. void rosu()
  147. {
  148. indexCulori = 0;
  149.  
  150. drawColorStr = "Culoarea "+numeCuloare[indexCulori];
  151. }
  152.  
  153. void verde()
  154. {
  155. indexCulori = 1;
  156.  
  157. drawColorStr = "Culoarea "+numeCuloare[indexCulori];
  158. }
  159.  
  160. void albastru()
  161. {
  162. indexCulori = 2;
  163.  
  164. drawColorStr = "Culoarea "+numeCuloare[indexCulori];
  165. }
  166.  
  167. void galben()
  168. {
  169. indexCulori = 3;
  170.  
  171. drawColorStr = "Culoarea "+numeCuloare[indexCulori];
  172. }
  173.  
  174. void negru()
  175. {
  176. indexCulori = 4;
  177.  
  178. drawColorStr = "Culoarea "+numeCuloare[indexCulori];
  179. }
  180. void paintIt()
  181. {
  182.  
  183.  
  184. if(indexFiguri == 0)
  185. {
  186. figuri.addElement((new Line2D.Double(30,40,mouseX2,mouseY2)));
  187. culori.addElement((Integer) indexCulori);
  188. }
  189.  
  190. if(indexFiguri == 1)
  191. {
  192. figuri.addElement(new Rectangle2D.Double(30,20,mouseX2,mouseY2));
  193. culori.addElement((Integer) indexCulori);
  194. }
  195.  
  196. if(indexFiguri == 2)
  197. {
  198. /*
  199. * drawOval(centerX, centerY, radiusX, radiusY
  200. */
  201. //gg.drawOval(x1, y1, w1*2, w1*2);
  202. }
  203. }
  204.  
  205. public void paint(Graphics g)
  206. {
  207.  
  208. Graphics2D gg;
  209. gg=(Graphics2D) g;
  210.  
  211. String drawMouseStr;
  212. String drawMode;
  213.  
  214. drawMode = drawModeStr+" "+"folosind "+"Nr fig "+ drawColorStr+figuri.size();
  215.  
  216. drawMouseStr = "";
  217.  
  218.  
  219. if(mouseClickedStr.length()>0)
  220. drawMouseStr = mouseClickedStr+x_click+" "+y_click;
  221. if(mousePressedStr.length()>0)
  222. drawMouseStr = mousePressedStr+mouseX1+" "+mouseY1;
  223. if(mouseDraggedStr.length()>0)
  224. drawMouseStr = mouseDraggedStr+mouseX2+" "+mouseY2;
  225.  
  226.  
  227. if(drawMode.length()>0)
  228. {
  229. gg.setColor(Color.black);
  230. gg.drawString(drawMode,10,20);
  231. }
  232.  
  233. if(drawMouseStr.length()>0)
  234. {
  235. gg.setColor(Color.black);
  236. gg.drawString(drawMouseStr,10,40);
  237. }
  238.  
  239. for(int i=0;i<figuri.size();i++)
  240. {
  241. gg.setColor(culoare[((Integer)culori.get(i)).intValue()]);
  242. gg.draw((Shape)figuri.elementAt(i));
  243.  
  244. if (culori.get(i)!=null){
  245. gg.setColor(culoare[((Integer)culori.get(i)).intValue()]);
  246. gg.fill((Shape)figuri.elementAt(i));
  247. }
  248. }
  249. }
  250.  
  251.  
  252. public void mouseClicked(MouseEvent me)
  253. {
  254. x_click=me.getX();
  255. y_click=me.getY();
  256.  
  257. mouseClickedStr = "Mouse clicked at ";
  258. mousePressedStr = "";
  259. mouseDraggedStr = "";
  260.  
  261. repaint();
  262.  
  263. }
  264.  
  265. public void mousePressed(MouseEvent me)
  266. {
  267. mouseX1=me.getX();
  268. mouseY1=me.getY();
  269.  
  270. mouseClickedStr = "";
  271. mousePressedStr = "Mouse pressed at ";
  272. mouseDraggedStr = "";
  273.  
  274. repaint();
  275. }
  276.  
  277. public void mouseEntered(MouseEvent me){}
  278. public void mouseExited(MouseEvent me){}
  279.  
  280. public void mouseReleased(MouseEvent me)
  281. {
  282. PaintByDrag=false;
  283. }
  284.  
  285. public void mouseDragged (MouseEvent me)
  286. {
  287. PaintByDrag=true;
  288. mouseX2=me.getX();
  289. mouseY2=me.getY();
  290.  
  291. mouseClickedStr = "";
  292. mousePressedStr = "";
  293. mouseDraggedStr = "Mouse dragged at ";
  294.  
  295.  
  296. repaint();
  297.  
  298. }
  299.  
  300.  
  301. public void mouseMoved (MouseEvent me){}
  302.  
  303. }
Add Comment
Please, Sign In to add comment