{"id":976,"date":"2014-02-10T11:48:48","date_gmt":"2014-02-10T10:48:48","guid":{"rendered":"http:\/\/liceocuneo.it\/oddenino\/?p=976"},"modified":"2014-02-18T11:30:40","modified_gmt":"2014-02-18T10:30:40","slug":"joxy","status":"publish","type":"post","link":"https:\/\/liceocuneo.it\/oddenino\/joxy\/","title":{"rendered":"JOxy"},"content":{"rendered":"<pre>package assicartesiani;\r\n\r\nimport java.awt.Dimension;\r\nimport java.awt.FontMetrics;\r\nimport java.awt.Graphics;\r\nimport java.awt.Graphics2D;\r\nimport java.awt.RenderingHints;\r\nimport javax.swing.JComponent;\r\n\r\npublic class JOxy extends JComponent {\r\n\r\n    private int scalaX, scalaY, traslX, traslY;\r\n    private String asseX, asseY;\r\n\r\n    public JOxy() {\r\n        setPreferredSize(new Dimension(400, 400));\r\n        setScalaX(50);\r\n        setScalaY(50);\r\n        setTraslX(40);\r\n        setTraslY(40);\r\n        setAsseX(\"X\");\r\n        setAsseY(\"Y\");\r\n    }\r\n\r\n    public int xg(double x) {\r\n        return (int) Math.round(getTraslX() + x * getScalaX());\r\n    }\r\n\r\n    public int yg(double y) {\r\n        return (int) Math.round(getHeight() - 1 - getTraslY() - y * getScalaY());\r\n    }\r\n\r\n    public double xr(int x) {\r\n        return (double) (x - getTraslX()) \/ getScalaX();\r\n    }\r\n\r\n    public double yr(int y) {\r\n        return (double) (getHeight() - 1 - getTraslY() - y) \/ getScalaY();\r\n    }\r\n\r\n    @Override\r\n    public void paintComponent(Graphics g) {\r\n        int w = getWidth() - 1;\r\n        int h = getHeight() - 1;\r\n        Graphics2D g2 = (Graphics2D) g;\r\n        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);\r\n        g2.setFont(getFont());\r\n        FontMetrics fm = g2.getFontMetrics();\r\n\r\n        g2.setColor(getBackground());\r\n        g2.fillRect(0, 0, w, h);\r\n        g2.setColor(getForeground());\r\n\r\n        \/\/ asse x\r\n        g2.drawLine(0, yg(0), w, yg(0));\r\n        g2.drawLine(w - 20, yg(0) - 10, w, yg(0));\r\n        g2.drawLine(w - 20, yg(0) + 10, w, yg(0));\r\n        for (int x = -getTraslX() \/ getScalaX(); x &lt; (w - getTraslX()) \/ getScalaX(); x++) {\r\n            g2.drawLine(xg(x), yg(0) - 5, xg(x), yg(0) + 5);\r\n            String xs = x + \"\";\r\n            g2.drawString(xs, xg(x) - fm.stringWidth(xs) \/ 2, yg(0) + 5 + fm.getHeight());\r\n        }\r\n        g2.drawString(getAsseX(), w - 5 - fm.stringWidth(getAsseX()), yg(0) - 15 - fm.getDescent());\r\n\r\n        \/\/ asse y\r\n        g2.drawLine(xg(0), h, xg(0), 0);\r\n        g2.drawLine(xg(0) - 10, 20, xg(0), 0);\r\n        g2.drawLine(xg(0) + 10, 20, xg(0), 0);\r\n        for (int y = -getTraslY() \/ getScalaY(); y &lt; (h - getTraslY()) \/ getScalaY(); y++) {             g2.drawLine(xg(0) - 5, yg(y), xg(0) + 5, yg(y));             String ys = y + \"\";             g2.drawString(ys, xg(0) - 10 - fm.stringWidth(ys), yg(y) + fm.getAscent() \/ 2);         }         g2.drawString(getAsseY(), xg(0) + 15, fm.getHeight());     }     public int getScalaX() {         return scalaX;     }     public final void setScalaX(int scalaX) {         if (scalaX &gt;= 20) {\r\n            this.scalaX = scalaX;\r\n            repaint();\r\n        }\r\n    }\r\n\r\n    public int getScalaY() {\r\n        return scalaY;\r\n    }\r\n\r\n    public final void setScalaY(int scalaY) {\r\n        if (scalaY &gt;= 20) {\r\n            this.scalaY = scalaY;\r\n            repaint();\r\n        }\r\n    }\r\n\r\n    public int getTraslX() {\r\n        return traslX;\r\n    }\r\n\r\n    public final void setTraslX(int traslX) {\r\n        if (traslX &gt;= 0) {\r\n            this.traslX = traslX;\r\n            repaint();\r\n        }\r\n    }\r\n\r\n    public int getTraslY() {\r\n        return traslY;\r\n    }\r\n\r\n    public final void setTraslY(int traslY) {\r\n        if (traslY &gt;= 0) {\r\n            this.traslY = traslY;\r\n            repaint();\r\n        }\r\n    }\r\n\r\n    public String getAsseX() {\r\n        return asseX;\r\n    }\r\n\r\n    public final void setAsseX(String asseX) {\r\n        if (asseX != null) {\r\n            this.asseX = asseX;\r\n        } else {\r\n            this.asseX = \"\";\r\n        }\r\n    }\r\n\r\n    public String getAsseY() {\r\n        return asseY;\r\n    }\r\n\r\n    public final void setAsseY(String asseY) {\r\n        if (asseY != null) {\r\n            this.asseY = asseY;\r\n        } else {\r\n            this.asseY = \"\";\r\n        }\r\n    }\r\n\r\n}<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>package assicartesiani; import java.awt.Dimension; import java.awt.FontMetrics; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JComponent; public class JOxy extends JComponent { private int scalaX, scalaY, traslX, traslY; private String asseX, asseY; public JOxy() { setPreferredSize(new Dimension(400, 400)); setScalaX(50); setScalaY(50); setTraslX(40); setTraslY(40); setAsseX(&#8220;X&#8221;); setAsseY(&#8220;Y&#8221;); } public int xg(double x) { return (int) Math.round(getTraslX() + x * getScalaX()); &hellip; <a href=\"https:\/\/liceocuneo.it\/oddenino\/joxy\/\" class=\"more-link\">Continua a leggere <span class=\"screen-reader-text\">JOxy<\/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-976","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts\/976","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=976"}],"version-history":[{"count":0,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/posts\/976\/revisions"}],"wp:attachment":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/media?parent=976"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/categories?post=976"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/tags?post=976"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}