Advertisement
jeviss

LOGO TURTLE

Mar 22nd, 2014
401
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.44 KB | None | 0 0
  1. import javax.swing.*;
  2. import java.awt.event.*;
  3. import java.awt.*;
  4. import java.awt.Graphics;
  5.  
  6.  
  7. class Start implements ActionListener{
  8. JFrame ramka;
  9. JButton wLewo;
  10. JButton wPrawo;
  11. JButton Naprzod;
  12. JButton wGore;
  13. JButton wDol;
  14. JButton Clean;
  15. JButton Zamknij;
  16.  
  17. PanelRysunkowy okienkoR; //okienko do rysowania
  18.  
  19. class PanelRysunkowy extends JPanel {
  20.     public void paintComponent(Graphics g) {
  21.         super.paintComponents(g);
  22.     }
  23. }
  24.  
  25.  
  26. public boolean rysowanie = false;
  27.  
  28. private int wys=500;
  29. private int szer=500;
  30.  
  31. private int wspx=240; //poczatkowe polozenie
  32. private int wspy=200;
  33. private int position=0;
  34.  
  35. //elementy tekstowe
  36. JLabel stanPiora = new JLabel(" Stan piora: Podniesione  ");
  37. JLabel polozenieP=new JLabel(" Polozenie: ("+240+","+200+")");
  38. JLabel kierunek = new JLabel(" Kierunek: "+ position);
  39.  
  40.  
  41. public void pokazOkno(){
  42. ramka=new JFrame();
  43. ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  44. ramka.setSize(szer, wys);
  45. //przyciski
  46. wLewo=new JButton("left");
  47. wPrawo=new JButton("right");
  48. Naprzod=new JButton("forward");
  49. wGore=new JButton("pen up");
  50. wDol=new JButton("pen down");
  51. Clean=new JButton("clean");
  52. Zamknij=new JButton("quit");
  53.  
  54.  
  55. wLewo.addActionListener(this);
  56. wPrawo.addActionListener(this);
  57. Naprzod.addActionListener(this);
  58. wGore.addActionListener(this);
  59.  wDol.addActionListener(this);
  60.  Clean.addActionListener(this);
  61.  Zamknij.addActionListener(this);
  62.  
  63. JPanel jp=new JPanel();
  64. jp.setLayout(new BorderLayout());
  65.  
  66. okienkoR=new PanelRysunkowy();
  67. JToolBar tb=new JToolBar(); //miejscowka na przyciski
  68. JToolBar tb2=new JToolBar();//na dane tekstowe
  69. //dodaje przyciski na toolbar
  70. tb.add(wLewo);
  71. tb.add(wPrawo);
  72. tb.add(Naprzod);
  73. tb.add(wGore);
  74. tb.add(wDol);
  75. tb.add(Clean);
  76. tb.add(Zamknij);
  77.  
  78. tb2.add(stanPiora);
  79. tb2.add(polozenieP);
  80. tb2.add(kierunek);
  81. //tb.add(stanPiora);
  82.  
  83. //ustalam polozenie panelu i toolbara w okienku
  84. jp.add("Center",okienkoR);
  85. jp.add("North",tb);
  86. jp.add("South",tb2);
  87. ramka.add(jp);
  88. ramka.setVisible(true);
  89.  
  90.     }
  91.  
  92.    
  93. public void actionPerformed(ActionEvent akcja){
  94.  
  95.  Graphics rysik= okienkoR.getGraphics(); //pobieram z panelu rys obiekt typu graphics ktorego bede uzywal o rysowania
  96.  rysik.setColor(Color.BLACK);
  97. if(akcja.getSource()==wDol){
  98. rysowanie = true;
  99. stanPiora.setText(" Stan piora: Opuszczone ");
  100.  
  101.             }
  102.                
  103. else if(akcja.getSource()==wGore){
  104. rysowanie = false;
  105.  stanPiora.setText(" Stan piora: Podniesione ");
  106.     }
  107.    
  108. else if(akcja.getSource()==wLewo){ //dla przycisku left
  109.  if(position==0){  
  110.         position=270;
  111.             kierunek.setText(" Kierunek: "+ position);
  112.                         return; }
  113. else if(position==90){
  114.     position=0;
  115.     kierunek.setText(" Kierunek: "+ position);
  116.                         return;
  117.             }
  118. else if(position==180){
  119.         position=90;
  120.             kierunek.setText(" Kierunek: "+ position);
  121.                         return;
  122.                         }
  123. else if(position==270){
  124.         position=180;
  125.             kierunek.setText(" Kierunek: "+ position);
  126.                         return;
  127.                         }                  
  128.         }
  129.  
  130.  
  131. else if(akcja.getSource()==wPrawo){ //dla przycisku right
  132.   if(position==0){
  133.         position=90;
  134.             kierunek.setText(" Kierunek: "+ position);
  135.                         return; }
  136. else if(position==90){
  137.     position=180;
  138.     kierunek.setText(" Kierunek: "+ position);
  139.                         return;
  140.             }
  141. else if(position==180){
  142.         position=270;
  143.             kierunek.setText(" Kierunek: "+ position);
  144.                         return;
  145.                         }
  146. else if(position==270){
  147.         position=0;
  148.             kierunek.setText(" Kierunek: "+ position);
  149.                         return;
  150.                         }  
  151.  
  152.             }
  153.  
  154.  
  155. else if(akcja.getSource()==Naprzod){
  156.  if(position==0){
  157.  int y=wspy;
  158.  wspy=wspy-10;
  159.  if(rysowanie==true){
  160. //for(int i = wspy;i<y;i++){
  161.  
  162.  rysik.drawLine(wspx,wspy,wspx,y);
  163.  
  164. //      }
  165.     }
  166.  
  167.     }
  168. if(position==90){
  169. int x=wspx;
  170. wspx+=10;
  171. if(rysowanie==true){
  172.  rysik.drawLine(wspx,wspy,x,wspy);
  173.             }
  174.     }
  175.  
  176. if(position==180){
  177. int y = wspy;
  178. wspy=wspy+10;
  179. if(rysowanie==true){
  180.  rysik.drawLine(wspx,wspy,wspx,y);}
  181.  
  182.     }
  183.  
  184. if(position==270){
  185. int x=wspx;
  186. wspx-=10;
  187. if(rysowanie==true){
  188.  rysik.drawLine(wspx,wspy,x,wspy);
  189. }
  190.  
  191.     }
  192.  
  193.  polozenieP.setText(" Polozenie ("+wspx+","+  wspy +") ");
  194.  
  195.     }
  196.  
  197. else if(akcja.getSource()==Clean){
  198. rysowanie = false;
  199. position=0;
  200.  wspx=240;
  201. wspy=200;
  202.  polozenieP.setText(" Polozenie ("+wspx+","+  wspy +") ");
  203. stanPiora.setText(" Stan piora: Podniesione ");
  204. kierunek.setText(" Kierunek: "+ position);
  205. rysik.clearRect(0,0,500,500);//tu czysci okienko
  206.     }
  207.  
  208. else if(akcja.getSource()==Zamknij){
  209.  System.exit(0);
  210.     }  
  211.    
  212. }
  213.  
  214. public static void main(String[] args){
  215. Start rysuj=new Start();
  216. rysuj.pokazOkno( );
  217.  
  218.  
  219.     }
  220.  
  221.  
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement