{"id":10487,"date":"2015-08-29T09:24:15","date_gmt":"2015-08-29T13:24:15","guid":{"rendered":"http:\/\/bangla.salearningschool.com\/?p=10487"},"modified":"2015-08-24T10:31:04","modified_gmt":"2015-08-24T14:31:04","slug":"loading-images","status":"publish","type":"post","link":"http:\/\/bangla.sitestree.com\/?p=10487","title":{"rendered":"Loading Images"},"content":{"rendered":"<pre>JavaMan1.java Applet that loads an image from a relative URL.\r\n*************************************************************\r\nimport java.applet.Applet;\r\nimport java.awt.*;\r\n\r\n\/** An applet that loads an image from a relative URL. \r\n\u00a0*\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\n\r\npublic class JavaMan1 extends Applet {\r\n\u00a0 private Image javaMan;\r\n\r\n\u00a0 public void init() {\r\n\u00a0\u00a0\u00a0 javaMan = getImage(getCodeBase(),\"images\/Java-Man.gif\");\r\n\u00a0 }\r\n\r\n\u00a0 public void paint(Graphics g) {\r\n\u00a0\u00a0\u00a0 g.drawImage(javaMan, 0, 0, this);\r\n\u00a0 }\r\n}\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nJavaMan2.java Illustrates loading an image from an absolute URL.\r\n********************\r\nimport java.applet.Applet;\r\nimport java.awt.*;\r\nimport java.net.*;\r\n\r\n\/** An applet that loads an image from an absolute\r\n\u00a0*\u00a0 URL on the same machine that the applet came from.\r\n\u00a0*\r\n***********************\r\n\r\npublic class JavaMan2 extends Applet {\r\n\u00a0 private Image javaMan;\r\n\r\n\u00a0 public void init() {\r\n\u00a0\u00a0\u00a0 try {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 URL imageFile = new URL(\"http:\/\/www.corewebprogramming.com\" +\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"\/images\/Java-Man.gif\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 javaMan = getImage(imageFile);\r\n\u00a0\u00a0\u00a0 } catch(MalformedURLException mue) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 showStatus(\"Bogus image URL.\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(\"Bogus URL\");\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 public void paint(Graphics g) {\r\n\u00a0\u00a0\u00a0 g.drawImage(javaMan, 0, 0, this);\r\n\u00a0 }\r\n}\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\n# JavaMan3.java An application that loads an image from a local file. Uses the following image and two files:\r\n\r\n\u00a0\u00a0\u00a0 * Java-Man.gif which should be placed in images subdirectory.\r\n\u00a0\u00a0\u00a0 * WindowUtilities.java Simplifies the setting of native look and feel.\r\n\u00a0\u00a0\u00a0 * ExitListener.java WindowListener to support terminating the application.\r\n*******************\r\nJavaMan3.java\r\n*******************\r\nimport java.awt.*;\r\nimport javax.swing.*;\r\n\r\n\/** An application that loads an image from a local file. \r\n\u00a0*\u00a0 Applets are not permitted to do this.\r\n\u00a0*\r\n**********************\r\n\r\nclass JavaMan3 extends JPanel {\r\n\u00a0 private Image javaMan;\r\n\r\n\u00a0 public JavaMan3() {\r\n\u00a0\u00a0\u00a0 String imageFile = System.getProperty(\"user.dir\") +\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \"\/images\/Java-Man.gif\";\r\n\u00a0\u00a0\u00a0 javaMan = getToolkit().getImage(imageFile);\r\n\u00a0\u00a0\u00a0 setBackground(Color.white);\r\n\u00a0 }\r\n\r\n\u00a0 public void paintComponent(Graphics g) {\r\n\u00a0\u00a0\u00a0 super.paintComponent(g);\r\n\u00a0\u00a0\u00a0 g.drawImage(javaMan, 0, 0, this);\r\n\u00a0 }\r\n\u00a0 \r\n\u00a0 public static void main(String[] args) {\r\n\u00a0\u00a0\u00a0 JPanel panel = new JavaMan3();\r\n\u00a0\u00a0\u00a0 WindowUtilities.setNativeLookAndFeel();\r\n\u00a0\u00a0\u00a0 WindowUtilities.openInJFrame(panel, 380, 390);\r\n\u00a0 }\u00a0 \u00a0\r\n}\r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nPreload.java An application that demonstrates the effect of preloading an image before drawing. Specify -preload as a command-line argument to preload the image. In this case, the prepareImage method is called to immediately start a thread to load the image. Thus, the image is ready to display when the user later selects the Display Image button. \r\n&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;\r\nimport java.awt.*;\r\nimport java.awt.event.*;\r\nimport javax.swing.*;\r\nimport java.net.*;\r\n\r\n\/** A class that compares the time to draw an image preloaded\r\n\u00a0*\u00a0 (getImage, prepareImage, and drawImage) vs. regularly\r\n\u00a0*\u00a0 (getImage and drawImage).\r\n\u00a0* \u00a0\r\n\r\n\r\n\u00a0*\u00a0 The answer you get the regular way is dependent on the\r\n\u00a0*\u00a0 network speed and the size of the image, but if you assume\r\n\u00a0*\u00a0 you load the applet \"long\" (compared to the time the image\r\n\u00a0*\u00a0 loading requires) before pressing the button, the drawing\r\n\u00a0*\u00a0 time in the preloaded version depends only on the speed of\r\n\u00a0*\u00a0 the local machine.\r\n\u00a0*\r\n\u00a0**********************\r\n\r\npublic class Preload extends JPanel implements ActionListener {\r\n\r\n\u00a0 private JTextField timeField;\r\n\u00a0 private long start = 0;\r\n\u00a0 private boolean draw = false;\r\n\u00a0 private JButton button;\r\n\u00a0 private Image plate;\r\n\r\n\u00a0 public Preload(String imageFile, boolean preload) {\r\n\u00a0\u00a0\u00a0 setLayout(new BorderLayout());\r\n\u00a0\u00a0\u00a0 button = new JButton(\"Display Image\");\r\n\u00a0\u00a0\u00a0 button.setFont(new Font(\"SansSerif\", Font.BOLD, 24));\r\n\u00a0\u00a0\u00a0 button.addActionListener(this);\r\n\u00a0\u00a0\u00a0 JPanel buttonPanel = new JPanel();\r\n\u00a0\u00a0\u00a0 buttonPanel.add(button);\r\n\u00a0\u00a0\u00a0 timeField = new JTextField(25);\r\n\u00a0\u00a0\u00a0 timeField.setEditable(false);\r\n\u00a0\u00a0\u00a0 timeField.setFont(new Font(\"SansSerif\", Font.BOLD, 24));\r\n\u00a0\u00a0\u00a0 buttonPanel.add(timeField);\r\n\u00a0\u00a0\u00a0 add(buttonPanel, BorderLayout.SOUTH);\r\n\u00a0\u00a0\u00a0 registerImage(imageFile, preload);\r\n\r\n\u00a0 }\r\n\r\n\u00a0 \/** No need to check which object caused this,\r\n\u00a0\u00a0 *\u00a0 since the button is the only possibility.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void actionPerformed(ActionEvent event) {\r\n\u00a0\u00a0\u00a0 draw = true;\r\n\u00a0\u00a0\u00a0 start = System.currentTimeMillis();\r\n\u00a0\u00a0\u00a0 repaint();\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Do getImage, optionally starting the loading.\r\n\r\n\u00a0 private void registerImage(String imageFile, boolean preload) {\r\n\u00a0\u00a0\u00a0 try {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 plate = getToolkit().getImage(new URL(imageFile));\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 if (preload) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 prepareImage(plate, this);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 } catch(MalformedURLException mue) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(\"Bad URL: \" + mue);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 \/** If button has been clicked, draw image and\r\n\u00a0\u00a0 *\u00a0 show elapsed time. Otherwise, do nothing.\r\n\u00a0\u00a0 *\/\r\n\r\n\u00a0 public void paintComponent(Graphics g) {\r\n\u00a0\u00a0\u00a0 super.paintComponent(g);\r\n\u00a0\u00a0\u00a0 if (draw) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 g.drawImage(plate, 0, 0, this);\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 showTime();\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Show elapsed time in textfield.\r\n\r\n\u00a0 private void showTime() {\r\n\u00a0\u00a0\u00a0 timeField.setText(\"Elapsed Time: \" + elapsedTime() +\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \" seconds.\");\r\n\u00a0 }\r\n\r\n\u00a0 \/\/ Time in seconds since button was clicked.\r\n\r\n\u00a0 private double elapsedTime() {\r\n\u00a0\u00a0\u00a0 double delta = (double)(System.currentTimeMillis() - start);\r\n\u00a0\u00a0\u00a0 return(delta\/1000.0);\r\n\u00a0 }\r\n\r\n\u00a0 public static void main(String[] args) {\r\n\u00a0\u00a0\u00a0 JPanel preload;\r\n\r\n\u00a0\u00a0\u00a0 if (args.length == 0) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.out.println(\"Must provide URL\");\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 System.exit(0);\r\n\u00a0\u00a0\u00a0 }\r\n\u00a0\u00a0\u00a0 if (args.length == 2 &amp;&amp; args[1].equals(\"-preload\")) {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 preload = new Preload(args[0], true);\r\n\u00a0\u00a0\u00a0 } else {\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 preload = new Preload(args[0], false);\r\n\u00a0\u00a0\u00a0 }\r\n\r\n\u00a0\u00a0\u00a0 WindowUtilities.setNativeLookAndFeel();\r\n\u00a0\u00a0\u00a0 WindowUtilities.openInJFrame(preload, 1000, 750);\r\n\u00a0 }\r\n}\r\n&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>JavaMan1.java Applet that loads an image from a relative URL. ************************************************************* import java.applet.Applet; import java.awt.*; \/** An applet that loads an image from a relative URL. \u00a0* &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; public class JavaMan1 extends Applet { \u00a0 private Image javaMan; \u00a0 public void init() { \u00a0\u00a0\u00a0 javaMan = getImage(getCodeBase(),&#8221;images\/Java-Man.gif&#8221;); \u00a0 } \u00a0 public void paint(Graphics g) { &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"http:\/\/bangla.sitestree.com\/?p=10487\">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-10487","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":27152,"url":"http:\/\/bangla.sitestree.com\/?p=27152","url_meta":{"origin":10487,"position":0},"title":"Loading Images #Programming Code Examples #Java\/J2EE\/J2ME #Applets and Basic Graphics","author":"Author-Check- Article-or-Video","date":"May 12, 2021","format":false,"excerpt":"JavaMan1.java Applet that loads an image from a relative URL. ************************************************************* import java.applet.Applet; import java.awt.*; \/** An applet that loads an image from a relative URL. * >>>>>>>>>>>>>>>>>>> public class JavaMan1 extends Applet { private Image javaMan; public void init() { javaMan = getImage(getCodeBase(),\"images\/Java-Man.gif\"); } public void paint(Graphics g) {\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":10483,"url":"http:\/\/bangla.sitestree.com\/?p=10483","url_meta":{"origin":10487,"position":1},"title":"Basic template for a Java applet","author":"","date":"August 29, 2015","format":false,"excerpt":"AppletTemplate.java >>>>>>>>>>>>>>>>>>>> import java.applet.Applet; import java.awt.*; ******************** public class AppletTemplate extends Applet { \u00a0 \/\/ Variable declarations. \u00a0 public void init() { \u00a0\u00a0\u00a0 \/\/ Variable initializations, image loading, etc. \u00a0 } \u00a0 public void paint(Graphics g) { \u00a0\u00a0\u00a0 \/\/ Drawing operations. \u00a0 } } >>>>>>>>>>>>>>>>>>>>>","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":10379,"url":"http:\/\/bangla.sitestree.com\/?p=10379","url_meta":{"origin":10487,"position":2},"title":"Applet handle mouse events","author":"","date":"August 27, 2015","format":false,"excerpt":"ClickReporter.java A simple applet that uses the class to handle mouse events import java.applet.Applet; import java.awt.*; \/** Prints a message saying where the user clicks. * Uses an external listener. * public class ClickReporter extends Applet { public void init() { setBackground(Color.yellow); addMouseListener(new ClickListener()); } }","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":10526,"url":"http:\/\/bangla.sitestree.com\/?p=10526","url_meta":{"origin":10487,"position":3},"title":"HelloWWW.java Basic Hello World (Wide Web) Applet","author":"","date":"August 29, 2015","format":false,"excerpt":"********************* import java.applet.Applet; import java.awt.*; ********************* \u00a0 public class HelloWWW extends Applet { \u00a0 private int fontSize = 40; \u00a0 \u00a0 public void init() { \u00a0\u00a0\u00a0 setBackground(Color.black); \u00a0\u00a0\u00a0 setForeground(Color.white); \u00a0\u00a0\u00a0 setFont(new Font(\"SansSerif\", Font.BOLD, fontSize)); \u00a0 } \u00a0 \u00a0 public void paint(Graphics g) { \u00a0\u00a0\u00a0 g.drawString(\"Hello, World Wide Web.\", 5, fontSize+5);\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":10381,"url":"http:\/\/bangla.sitestree.com\/?p=10381","url_meta":{"origin":10487,"position":4},"title":"A simple applet that uses the ClickListener class","author":"","date":"January 2, 2015","format":false,"excerpt":"ClickReporter.java A simple applet that uses the ClickListener class to handle mouse events. *************** import java.applet.Applet; import java.awt.*; \/** Prints a message saying where the user clicks. \u00a0*\u00a0 Uses an external listener. \u00a0* \u00a0 \u00a0****** public class ClickReporter extends Applet { \u00a0 public void init() { \u00a0\u00a0\u00a0 setBackground(Color.yellow); \u00a0\u00a0\u00a0 addMouseListener(new\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":10383,"url":"http:\/\/bangla.sitestree.com\/?p=10383","url_meta":{"origin":10487,"position":5},"title":"Tiny applet that uses CircleListener to handle mouse events.","author":"","date":"August 27, 2015","format":false,"excerpt":"import java.applet.Applet; import java.awt.*; \/** Draw circles centered where the user clicks. \u00a0*\u00a0 Uses an external listener. \u00a0* \u00a0 \u00a0*********** public class CircleDrawer1 extends Applet { \u00a0 public void init() { \u00a0\u00a0\u00a0 setForeground(Color.blue); \u00a0\u00a0\u00a0 addMouseListener(new CircleListener()); \u00a0 } }","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\/10487","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=10487"}],"version-history":[{"count":2,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10487\/revisions"}],"predecessor-version":[{"id":10489,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=\/wp\/v2\/posts\/10487\/revisions\/10489"}],"wp:attachment":[{"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=10487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=10487"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bangla.sitestree.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=10487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}