{"id":1839,"date":"2013-02-24T12:11:54","date_gmt":"2013-02-24T10:11:54","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=1839"},"modified":"2013-02-25T11:57:23","modified_gmt":"2013-02-25T09:57:23","slug":"inselraus-n-ecke-zeichnen","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/02\/inselraus-n-ecke-zeichnen\/","title":{"rendered":"Inselraus: n-Ecke zeichnen"},"content":{"rendered":"<p>In der Graphics-Klasse gibt es keine Methode, um regelm\u00e4\u00dfige n-Ecken zu zeichnen. Eine solche Methode ist aber leicht und schnell programmiert: Wir teilen dazu einfach einen Kreis in n Teile auf und berechnen die x- und y-Koordinaten der Punkte auf dem Kreis. Diese Punkte f\u00fcgen wir einem Polygon-Objekt mittels der addPoint(\u2026)-Methode hinzu. Eine eigene statische Methode drawVertex(\u2026) \u00fcbernimmt diese Polygon-Erstellung. Der letzte Parameter der Methode ist ein Wahrheitswert, der bestimmt, ob das n-Eck gef\u00fcllt werden soll oder nicht:<\/p>\n<pre class=\"brush: java; title: ; notranslate\" title=\"\">\r\npackage com.tutego.insel.ui.graphics;\r\n\r\nimport java.awt.*;\r\nimport javax.swing.*;\r\n\r\npublic class N_Vertex extends JPanel {\r\n\r\n  private static final long serialVersionUID = -6314283966378303073L;\r\n\r\n  @Override protected void paintComponent( Graphics g ) {\r\n    VertexDrawer.drawVertex( g, getWidth() \/ 2, getHeight() \/ 2, 50, 6, true );\r\n    VertexDrawer.drawVertex( g, getWidth() \/ 2, getHeight() \/ 2, 60, 6, false );\r\n  }\r\n\r\n  public static void main( String&#x5B;] args ) {\r\n    JFrame f = new JFrame();\r\n    f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );\r\n    f.add( new N_Vertex() );\r\n    f.setSize( 200, 200 );\r\n    f.setVisible( true );\r\n  }\r\n}\r\n\r\nclass VertexDrawer {\r\n  public static void drawVertex( Graphics g, int x, int y, int r, int n, boolean filled ) {\r\n    Polygon p = new Polygon();\r\n\r\n    for ( int i = 0; i &lt; n; i++ )\r\n      p.addPoint( (int) (x + r * Math.cos( i * 2 * Math.PI \/ n )),\r\n                  (int) (y + r * Math.sin( i * 2 * Math.PI \/ n )) );\r\n\r\n    if ( filled )\r\n      g.fillPolygon( p );\r\n    else\r\n      g.drawPolygon( p );\r\n  }\r\n}\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>In der Graphics-Klasse gibt es keine Methode, um regelm\u00e4\u00dfige n-Ecken zu zeichnen. Eine solche Methode ist aber leicht und schnell programmiert: Wir teilen dazu einfach einen Kreis in n Teile auf und berechnen die x- und y-Koordinaten der Punkte auf dem Kreis. Diese Punkte f\u00fcgen wir einem Polygon-Objekt mittels der addPoint(\u2026)-Methode hinzu. Eine eigene statische [&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":[14],"tags":[],"class_list":["post-1839","post","type-post","status-publish","format-standard","hentry","category-java-se"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1839","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=1839"}],"version-history":[{"count":3,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1839\/revisions"}],"predecessor-version":[{"id":1847,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/1839\/revisions\/1847"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=1839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=1839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=1839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}