{"id":3303,"date":"2016-03-10T01:24:10","date_gmt":"2016-03-09T23:24:10","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=3303"},"modified":"2016-03-10T01:24:10","modified_gmt":"2016-03-09T23:24:10","slug":"bouncing-ball-in-a-swing-window","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2016\/03\/bouncing-ball-in-a-swing-window\/","title":{"rendered":"Bouncing ball in a Swing window"},"content":{"rendered":"<pre>import java.awt.*;\r\nimport java.awt.event.*;\r\nimport javax.swing.*;\r\n\r\npublic class BouncingBall {\r\n\r\n  private static class BallPanel extends JPanel {\r\n\r\n    \/\/ http:\/\/www.iconfinder.com\/icondetails\/8839\/64\/beach_ball_tourism_toys_icon\r\n    private final Icon ball = new ImageIcon( BouncingBall.class.getResource( \"ball.png\" ) );\r\n    private int ballX, ballY, dx = 2, dy = 2;\r\n\r\n    public BallPanel() {\r\n      new Timer( 10, new ActionListener() {\r\n        @Override\r\n        public void actionPerformed( ActionEvent evt ) {\r\n          ballX += dx;\r\n          ballY += dy;\r\n\r\n          if ( ballX &lt;= 0 || ballX + ball.getIconWidth() &gt;= getWidth() )\r\n            dx = -dx;\r\n          if ( ballY &lt;= 0 || ballY + ball.getIconHeight() &gt;= getHeight() )\r\n            dy = -dy;\r\n\r\n          repaint();\r\n        }\r\n      } ).start();\r\n    }\r\n\r\n    @Override\r\n    public void paint( Graphics g ) {\r\n      Graphics2D g2d = (Graphics2D) g;\r\n      g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );\r\n      g2d.setRenderingHint( RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY );\r\n\r\n      g2d.setColor( Color.WHITE );\r\n      g2d.fill( getBounds() );\r\n\r\n      ball.paintIcon( null, g2d, ballX, ballY );\r\n    }\r\n  }\r\n\r\n  public static void main( String[] args ) {\r\n    JFrame f = new JFrame();\r\n    f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );\r\n    f.setIgnoreRepaint( true );\r\n    f.add( new BallPanel() );\r\n    f.setBounds( 200, 100, 400, 200 );\r\n    f.setVisible( true );\r\n  }\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>import java.awt.*; import java.awt.event.*; import javax.swing.*; public class BouncingBall { private static class BallPanel extends JPanel { \/\/ http:\/\/www.iconfinder.com\/icondetails\/8839\/64\/beach_ball_tourism_toys_icon private final Icon ball = new ImageIcon( BouncingBall.class.getResource( &#8222;ball.png&#8220; ) ); private int ballX, ballY, dx = 2, dy = 2; public BallPanel() { new Timer( 10, new ActionListener() { @Override public void actionPerformed( ActionEvent evt [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-3303","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3303","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=3303"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3303\/revisions"}],"predecessor-version":[{"id":3304,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/3303\/revisions\/3304"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=3303"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=3303"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=3303"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}