{"id":1822,"date":"2015-09-24T12:04:43","date_gmt":"2015-09-24T10:04:43","guid":{"rendered":"http:\/\/liceocuneo.it\/oddenino\/?p=1822"},"modified":"2015-09-24T21:58:35","modified_gmt":"2015-09-24T19:58:35","slug":"pallina","status":"publish","type":"post","link":"https:\/\/liceocuneo.it\/oddenino\/pallina\/","title":{"rendered":"Pallina"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1831\" src=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/Pallina.png\" alt=\"Pallina\" width=\"450\" height=\"300\" srcset=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/Pallina.png 450w, https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/Pallina-300x200.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/p>\n<p><strong>JBall<\/strong><\/p>\n<pre>package pallina;\r\n\r\nimport java.awt.Color;\r\nimport java.awt.Component;\r\nimport java.awt.Dimension;\r\nimport java.awt.Graphics;\r\nimport java.awt.Graphics2D;\r\nimport java.awt.RenderingHints;\r\n\r\nimport javax.swing.JComponent;\r\n\r\npublic class JBall extends JComponent implements Runnable {\r\n\r\n\tprivate boolean running = false;\r\n\tprivate int vx = 10, vy = 10;\r\n\r\n\tpublic JBall() {\r\n\t\tthis.setPreferredSize(new Dimension(15, 15));\r\n\t}\r\n\r\n\tpublic boolean isRunning() {\r\n\t\treturn running;\r\n\t}\r\n\r\n\tpublic void setRunning(boolean running) {\r\n\t\tthis.running = running;\r\n\t}\r\n\r\n\tpublic int getVx() {\r\n\t\treturn vx;\r\n\t}\r\n\r\n\tpublic void setVx(int vx) {\r\n\t\tif (Math.abs(vx) &lt;= 10)\r\n\t\t\tthis.vx = vx;\r\n\t}\r\n\r\n\tpublic int getVy() {\r\n\t\treturn vy;\r\n\t}\r\n\r\n\tpublic void setVy(int vy) {\r\n\t\tif (Math.abs(vy) &lt;= 10)\r\n\t\t\tthis.vy = vy;\r\n\t}\r\n\r\n\t@Override\t\r\n\tprotected void paintComponent(Graphics g) {\r\n\t\tsuper.paintComponent(g);\r\n\r\n\t\tint w = this.getWidth();\r\n\t\tint h = this.getHeight();\r\n\r\n\t\tGraphics2D g2 = (Graphics2D) g;\r\n\t\tg2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);\r\n\t\tg2.setColor(Color.GREEN);\r\n\t\tg2.fillOval(0, 0, w, h);\r\n\t\tg2.setColor(Color.BLACK);\r\n\t\tg2.drawOval(0, 0, w - 1, h - 1);\r\n\t}\r\n\r\n\tpublic void start() {\r\n\t\tif (!running) {\r\n\t\t\trunning = true;\r\n\t\t\tThread t = new Thread(this);\r\n\t\t\tt.setDaemon(true);\r\n\t\t\tt.start();\r\n\t\t}\r\n\t}\r\n\r\n\tpublic void stop() {\r\n\t\trunning = false;\r\n\t}\r\n\r\n\t@Override\r\n\tpublic void run() {\r\n\t\twhile (running) {\r\n\t\t\tint x = this.getX();\r\n\t\t\tint y = this.getY();\r\n\t\t\tx += vx;\r\n\t\t\ty += vy;\r\n\t\t\tComponent contenitore = this.getParent();\r\n\t\t\tif (x &lt; 0) {\r\n\t\t\t\tvx = Math.abs(vx);\r\n\t\t\t\tx += vx;\r\n\t\t\t}\r\n\t\t\tif (x &gt; contenitore.getWidth() - this.getWidth()) {\r\n\t\t\t\tvx = -Math.abs(vx);\r\n\t\t\t\tx += vx;\r\n\t\t\t}\r\n\t\t\tif (y &lt; 0) {\r\n\t\t\t\tvy = Math.abs(vy);\r\n\t\t\t\ty += vy;\r\n\t\t\t}\r\n\t\t\tif (y &gt; contenitore.getHeight() - this.getHeight()) {\r\n\t\t\t\tvy = -Math.abs(vy);\r\n\t\t\t\ty += vy;\r\n\t\t\t}\r\n\t\t\tthis.setLocation(x, y);\r\n\t\t\ttry {\r\n\t\t\t\tThread.sleep(20);\r\n\t\t\t} catch (InterruptedException e) {\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n}<\/pre>\n<p><strong>Main<\/strong><\/p>\n<pre>package pallina;\r\n\r\nimport java.awt.EventQueue;\r\n\r\nimport javax.swing.JFrame;\r\nimport javax.swing.SpringLayout;\r\nimport javax.swing.JPanel;\r\nimport javax.swing.border.LineBorder;\r\nimport java.awt.Color;\r\nimport javax.swing.JButton;\r\nimport java.awt.event.ActionListener;\r\nimport java.awt.event.ActionEvent;\r\n\r\npublic class Main extends JFrame {\r\n\t\r\n\tprivate JBall ball;\r\n\r\n\t\/**\r\n\t * Launch the application.\r\n\t *\/\r\n\tpublic static void main(String[] args) {\r\n\t\tEventQueue.invokeLater(new Runnable() {\r\n\t\t\tpublic void run() {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tMain frame = new Main();\r\n\t\t\t\t\tframe.setVisible(true);\r\n\t\t\t\t} catch (Exception e) {\r\n\t\t\t\t\te.printStackTrace();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t\/**\r\n\t * Create the frame.\r\n\t *\/\r\n\tpublic Main() {\r\n\t\tsetTitle(\"Pallina\");\r\n\t\tsetBounds(100, 100, 450, 300);\r\n\t\tsetDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);\r\n\t\tSpringLayout springLayout = new SpringLayout();\r\n\t\tgetContentPane().setLayout(springLayout);\r\n\t\t\r\n\t\tJButton btnStart = new JButton(\"Start\");\r\n\t\tbtnStart.addActionListener(new ActionListener() {\r\n\t\t\tpublic void actionPerformed(ActionEvent arg0) {\r\n\t\t\t\tstart();\r\n\t\t\t}\r\n\t\t});\r\n\t\tspringLayout.putConstraint(SpringLayout.WEST, btnStart, 10, SpringLayout.WEST, getContentPane());\r\n\t\tspringLayout.putConstraint(SpringLayout.SOUTH, btnStart, -10, SpringLayout.SOUTH, getContentPane());\r\n\t\tgetContentPane().add(btnStart);\r\n\t\t\r\n\t\tJButton btnStop = new JButton(\"Stop\");\r\n\t\tbtnStop.addActionListener(new ActionListener() {\r\n\t\t\tpublic void actionPerformed(ActionEvent e) {\r\n\t\t\t\tstop();\r\n\t\t\t}\r\n\t\t});\r\n\t\tspringLayout.putConstraint(SpringLayout.NORTH, btnStop, 0, SpringLayout.NORTH, btnStart);\r\n\t\tspringLayout.putConstraint(SpringLayout.WEST, btnStop, 6, SpringLayout.EAST, btnStart);\r\n\t\tgetContentPane().add(btnStop);\r\n\r\n\t\tJPanel panel = new JPanel();\r\n\t\tpanel.setLayout(null);\r\n\t\tpanel.setBackground(Color.WHITE);\r\n\t\tpanel.setBorder(new LineBorder(new Color(0, 0, 0)));\r\n\t\tspringLayout.putConstraint(SpringLayout.NORTH, panel, 10, SpringLayout.NORTH, getContentPane());\r\n\t\tspringLayout.putConstraint(SpringLayout.WEST, panel, 10, SpringLayout.WEST, getContentPane());\r\n\t\tspringLayout.putConstraint(SpringLayout.EAST, panel, -10, SpringLayout.EAST, getContentPane());\r\n\t\tspringLayout.putConstraint(SpringLayout.SOUTH, panel, -6, SpringLayout.NORTH, btnStart);\r\n\t\tgetContentPane().add(panel);\t\t\r\n\r\n\t\tball = new JBall();\r\n\t\tball.setBounds(10, 10, 15, 15);\r\n\t\tpanel.add(ball);\r\n\t}\r\n\t\r\n\tprivate void start() {\r\n\t\tball.start();\r\n\t}\r\n\t\r\n\tprivate void stop() {\r\n\t\tball.stop();\r\n\t}\r\n\t\r\n}\r\n<\/pre>\n<p>Progetto Eclipse:\u00a0<a href=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/Pallina.zip\">Pallina<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>JBall package pallina; import java.awt.Color; import java.awt.Component; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JComponent; public class JBall extends JComponent implements Runnable { private boolean running = false; private int vx = 10, vy = 10; public JBall() { this.setPreferredSize(new Dimension(15, 15)); } public boolean isRunning() { return running; } public void setRunning(boolean &hellip; <a href=\"https:\/\/liceocuneo.it\/oddenino\/pallina\/\" class=\"more-link\">Continua a leggere <span class=\"screen-reader-text\">Pallina<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[],"class_list":["post-1822","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts\/1822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/comments?post=1822"}],"version-history":[{"count":0,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts\/1822\/revisions"}],"wp:attachment":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/media?parent=1822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/categories?post=1822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/tags?post=1822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}