Advertisement
Guest User

egc

a guest
Nov 25th, 2015
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. package l5;
  2.  
  3. import java.awt.*;
  4. import java.applet.*;
  5.  
  6. public class ArcTest extends Applet {
  7.  
  8.  
  9. private static final long serialVersionUID = 1L;
  10. ArcControls controls;
  11. public void init(){
  12. setLayout(new BorderLayout());
  13. ArcCanvas c=new ArcCanvas();
  14. add("Center", c);
  15. add("South", controls = new ArcControls(c));
  16. }
  17.  
  18. @SuppressWarnings("deprecation")
  19. public void start(){
  20. controls.enable();
  21. }
  22.  
  23.  
  24. @SuppressWarnings("deprecation")
  25. public void stop() {
  26. controls.disable();
  27. }
  28.  
  29.  
  30. public boolean handleEvent(Event e) {
  31. if (e.id == Event.WINDOW_DESTROY) {
  32. System.exit(0);
  33. }
  34. return false;
  35. }
  36.  
  37.  
  38.  
  39. @SuppressWarnings("deprecation")
  40. public static void main(String[] args) {
  41. Frame f= new Frame("ArcTest");
  42. ArcTest arcTest = new ArcTest();
  43. arcTest.init();
  44. arcTest.start();
  45. f.add("Center", arcTest);
  46. f.resize(300,300);
  47. f.show();
  48. }
  49.  
  50. }
  51.  
  52.  
  53. class ArcCanvas extends Canvas {
  54.  
  55. private static final long serialVersionUID = 1L;
  56. int startAngle = 0;
  57. int endAngle=45;
  58. boolean filled= false;
  59. Font font;
  60.  
  61. public void paint(Graphics g) {
  62. @SuppressWarnings("deprecation")
  63. Rectangle r= bounds();
  64. int hlines = r.height /10;
  65. int vlines = r.width /10;
  66. g.setColor(Color.pink);
  67. for (int i=1; i<hlines; i++) {
  68. g.drawLine(0, i*10, r.width, i*10);
  69. }
  70.  
  71. for (int i=1; i<= vlines; i++) {
  72. g.drawLine(i*10,0,i*10 , r.height);
  73. }
  74. g.setColor(Color.red);
  75. if(filled) {
  76. g.fillArc(0, 0, r.width -1, r.height - 1, startAngle, endAngle);
  77. }
  78. else
  79. {
  80. g.drawArc(0, 0, r.width-1, r.height-1, startAngle, endAngle);
  81. }
  82.  
  83. g.setColor(Color.black);
  84. g.setFont(font);
  85. g.drawLine(0, r.height/2, r.width, r.height/2);
  86. g.drawLine(r.width/2, 0, r.width/2, r.height);
  87. g.drawLine(0, 0, r.width, r.height);
  88. g.drawLine(r.width, 0, 0, r.height);
  89. int sx = 10;
  90. int sy=r.height -28;
  91. g.drawString("S = " + startAngle, sx, sy);
  92. g.drawString("E = "+ endAngle, sx, sy+14);
  93.  
  94. }
  95. public void redraw(boolean filled, int start, int end) {
  96. this.filled = filled;
  97. this.startAngle = start;
  98. this.endAngle = end;
  99. repaint();
  100. }
  101.  
  102.  
  103. }
  104.  
  105.  
  106.  
  107. class ArcControls extends Panel {
  108.  
  109. private static final long serialVersionUID = 1L;
  110. TextField s;
  111. TextField e;
  112. ArcCanvas canvas;
  113.  
  114. public ArcControls (ArcCanvas canvas) {
  115. this.canvas = canvas;
  116. add(s = new TextField("0", 4));
  117. add(e = new TextField("45", 4));
  118. add(new Button ("Fill"));
  119. add(new Button ("Draw"));
  120. }
  121.  
  122. public boolean action (Event ev, Object arg) {
  123. if(ev.target instanceof Button) {
  124. String label = (String)arg;
  125. canvas.redraw(label.equals("Fill"),
  126. Integer.parseInt(s.getText().trim()),
  127. Integer.parseInt(e.getText().trim()));
  128. return true;
  129. }
  130. return false;
  131.  
  132.  
  133. }
  134.  
  135. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement