{"id":10395,"date":"2015-08-28T00:54:24","date_gmt":"2015-08-28T04:54:24","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/?p=10395"},"modified":"2015-08-24T09:58:54","modified_gmt":"2015-08-24T13:58:54","slug":"an-applet-that-permits-freehand-drawing","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=10395","title":{"rendered":"An applet that permits freehand drawing"},"content":{"rendered":"<pre>import java.applet.Applet;\r\nimport java.awt.*;\r\nimport java.awt.event.*;\r\n\r\n\/** An applet that lets you perform freehand drawing.\r\n\u00a0* \u00a0\r\n\r\n\r\n\u00a0****************\r\n\r\npublic class SimpleWhiteboard extends Applet {\r\n\u00a0 protected int lastX=0, lastY=0;\r\n\r\n\u00a0 public void init() {\r\n\u00a0\u00a0\u00a0 setBackground(Color.white);\r\n\u00a0\u00a0\u00a0 setForeground(Color.blue);\r\n\u00a0\u00a0\u00a0 addMouseListener(new PositionRecorder());\r\n\u00a0\u00a0\u00a0 addMouseMotionListener(new LineDrawer());\r\n\u00a0 }\r\n\r\n\u00a0 protected void record(int x, int y) {\r\n\u00a0\u00a0\u00a0 lastX = x;\r\n\u00a0\u00a0\u00a0 lastY = y;\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Record position that mouse entered window or\r\n\u00a0 \/\/ where user pressed mouse button.\r\n\u00a0 \r\n\u00a0 private class PositionRecorder extends MouseAdapter {\r\n\u00a0\u00a0\u00a0 public void mouseEntered(MouseEvent event) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 requestFocus(); \/\/ Plan ahead for typing\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 record(event.getX(), event.getY());\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 public void mousePressed(MouseEvent event) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 record(event.getX(), event.getY());\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ As user drags mouse, connect subsequent positions\r\n\u00a0 \/\/ with short line segments.\r\n\u00a0 \r\n\u00a0 private class LineDrawer extends MouseMotionAdapter {\r\n\u00a0\u00a0\u00a0 public void mouseDragged(MouseEvent event) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 int x = event.getX();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 int y = event.getY();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 Graphics g = getGraphics();\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 g.drawLine(lastX, lastY, x, y);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 record(x, y);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>import java.applet.Applet; import java.awt.*; import java.awt.event.*; \/** An applet that lets you perform freehand drawing. \u00a0* \u00a0 \u00a0**************** public class SimpleWhiteboard extends Applet { \u00a0 protected int lastX=0, lastY=0; \u00a0 public void init() { \u00a0\u00a0\u00a0 setBackground(Color.white); \u00a0\u00a0\u00a0 setForeground(Color.blue); \u00a0\u00a0\u00a0 addMouseListener(new PositionRecorder()); \u00a0\u00a0\u00a0 addMouseMotionListener(new LineDrawer()); \u00a0 } \u00a0 protected void record(int x, int y) { \u00a0\u00a0\u00a0 &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=10395\">Continue reading<\/a><\/p>\n","protected":false},"author":130,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1417,1424],"tags":[706,308,285],"class_list":["post-10395","post","type-post","status-publish","format-standard","hentry","category-code-programming-samples--","category-javaj2eej2me","tag-code","tag-java","tag-285","item-wrap"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":26777,"url":"http:\/\/bangla.sitestree.com\/?p=26777","url_meta":{"origin":10395,"position":0},"title":"An applet that permits freehand drawing #Programming Code Examples #Java\/J2EE\/J2ME #Mouse and Keyboard Events","author":"Author-Check- Article-or-Video","date":"May 1, 2021","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; import java.awt.event.*; \/** An applet that lets you perform freehand drawing. * **************** public class SimpleWhiteboard extends Applet { protected int lastX=0, lastY=0; public void init() { setBackground(Color.white); setForeground(Color.blue); addMouseListener(new PositionRecorder()); addMouseMotionListener(new LineDrawer()); } protected void record(int x, int y) { lastX = x; lastY =\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10299,"url":"http:\/\/bangla.sitestree.com\/?p=10299","url_meta":{"origin":10395,"position":1},"title":"Adds typing to the freehand drawing.","author":"","date":"August 26, 2015","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; import java.awt.event.*; \/** A better whiteboard that lets you enter \u00a0*\u00a0 text in addition to freehand drawing. \u00a0* \u00a0 \u00a0****************** public class Whiteboard extends SimpleWhiteboard { \u00a0 protected FontMetrics fm; \u00a0 public void init() { \u00a0\u00a0\u00a0 super.init(); \u00a0\u00a0\u00a0 Font font = new Font(\"Serif\", Font.BOLD, 20); \u00a0\u00a0\u00a0\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":26860,"url":"http:\/\/bangla.sitestree.com\/?p=26860","url_meta":{"origin":10395,"position":2},"title":"Multithreaded Graphics and Double Buffering #Programming Code Examples #Java\/J2EE\/J2ME #Java Threads","author":"Author-Check- Article-or-Video","date":"May 3, 2021","format":false,"excerpt":"ShipSimulation.java Illustrates the basic approach of multithreaded graphics whereas a thread adjusts parameters affecting the appearance of the graphics and then calls repaint to schedule an update of the display. import java.applet.Applet; import java.awt.*; public class ShipSimulation extends Applet implements Runnable { ... public void run() { Ship s; for(int\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":27241,"url":"http:\/\/bangla.sitestree.com\/?p=27241","url_meta":{"origin":10395,"position":3},"title":"Adds typing to the freehand drawing. #Programming Code Examples #Java\/J2EE\/J2ME #Advanced Swing","author":"Author-Check- Article-or-Video","date":"May 15, 2021","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; import java.awt.event.*; \/** A better whiteboard that lets you enter * text in addition to freehand drawing. * ****************** public class Whiteboard extends SimpleWhiteboard { protected FontMetrics fm; public void init() { super.init(); Font font = new Font(\"Serif\", Font.BOLD, 20); setFont(font); fm = getFontMetrics(font); addKeyListener(new CharDrawer());\u2026","rel":"","context":"In &quot;FromSitesTree.com&quot;","block_context":{"text":"FromSitesTree.com","link":"http:\/\/bangla.sitestree.com\/?cat=1917"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10385,"url":"http:\/\/bangla.sitestree.com\/?p=10385","url_meta":{"origin":10395,"position":4},"title":"CircleDrawer3.java Applet that uses a named nested class to handle mouse events and draw circles. Illustrates third approach to event-handling with listeners: using inner classes.","author":"","date":"August 27, 2015","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; import java.awt.event.*; \/** Draw circles centered where the user clicks. \u00a0*\u00a0 Uses named inner classes. \u00a0* \u00a0 \u00a0****************** public class CircleDrawer3 extends Applet { \u00a0 public void init() { \u00a0\u00a0\u00a0 setForeground(Color.blue); \u00a0\u00a0\u00a0 addMouseListener(new CircleListener()); \u00a0 } \u00a0 private class CircleListener extends MouseAdapter { \u00a0\u00a0\u00a0 private int\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":10387,"url":"http:\/\/bangla.sitestree.com\/?p=10387","url_meta":{"origin":10395,"position":5},"title":"Applet that uses a anonymous nested class to handle mouse events and draw circles. Variation on third approach to event-handling: using inner classes.","author":"","date":"August 27, 2015","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; import java.awt.event.*; \/** Draw circles centered where the user clicks. \u00a0*\u00a0 Uses anonymous inner classes. \u00a0* \u00a0 ********************** public class CircleDrawer4 extends Applet { \u00a0 public void init() { \u00a0\u00a0\u00a0 setForeground(Color.blue); \u00a0\u00a0\u00a0 addMouseListener \u00a0\u00a0\u00a0\u00a0\u00a0 (new MouseAdapter() { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 private int radius = 25; \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 public void\u2026","rel":"","context":"In &quot;Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8&quot;","block_context":{"text":"Code . Programming Samples . \u09aa\u09cd\u09b0\u09cb\u0997\u09cd\u09b0\u09be\u09ae \u0989\u09a6\u09be\u09b9\u09b0\u09a8","link":"http:\/\/bangla.sitestree.com\/?cat=1417"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10395","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/users\/130"}],"replies":[{"embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=10395"}],"version-history":[{"count":1,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10395\/revisions"}],"predecessor-version":[{"id":10396,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10395\/revisions\/10396"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10395"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10395"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10395"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}