{"id":423,"date":"2011-05-22T21:53:09","date_gmt":"2011-05-22T19:53:09","guid":{"rendered":"http:\/\/www.gpeano.org\/oddenino\/?page_id=423"},"modified":"2016-10-12T18:07:18","modified_gmt":"2016-10-12T16:07:18","slug":"beans","status":"publish","type":"page","link":"https:\/\/liceocuneo.it\/oddenino\/informatica\/java\/beans\/","title":{"rendered":"Beans"},"content":{"rendered":"<p style=\"text-align: justify\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-428\" src=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/Beans.gif\" alt=\"\" width=\"203\" height=\"177\" \/>I <strong>Bean<\/strong> (letteralmente, <em>chicchi di Java<\/em>) sono classi scritte in linguaggio di programmazione Java secondo una particolare convenzione. Sono usate per incapsulare molti oggetti in un singolo oggetto (il bean), cos\u00ec da poter passare il bean invece degli oggetti individuali.<br \/>\nLa specifica della <em>Sun Microsystems<\/em> le definisce come &#8220;componenti software riutilizzabili che possono essere manipolate visivamente in un tool per il build&#8221;.<\/p>\n<h2 style=\"text-align: justify\">Esempio di JavaBean<\/h2>\n<p style=\"text-align: justify\">La prima cosa da fare \u00e8 creare una libreria di JavaBeans nella maniera seguente.<\/p>\n<ul>\n<li>File &gt; New Project\u2026 &gt; General &gt; Java Class Library &gt; Next &gt; Project Name: <strong>Beans<\/strong> &gt; Finish<\/li>\n<\/ul>\n<p style=\"text-align: justify\">In questo esempio creeremo un nuovo Bean <strong>JImagePanel<\/strong>\u00a0sottoclasse\u00a0di <strong>JComponent<\/strong>, avente come funzionalit\u00e0 aggiuntiva quella di possedere un\u2019immagine di sfondo nella nuova propriet\u00e0 <strong>icon<\/strong>, che pu\u00f2 essere posizionata dove si vuole all\u2019interno di <strong>JImagePanel<\/strong> mediante le due propriet\u00e0 <strong>iconX<\/strong> e <strong>iconY<\/strong>.<\/p>\n<ul>\n<li>File &gt; New File\u2026 &gt; JavaBeans Object: JavaBeans Component &gt; Class Name: <strong>JImagePanel<\/strong>; Package: <strong>beans<\/strong> &gt; Finish<\/li>\n<\/ul>\n<p style=\"text-align: justify\">A questo punto \u00e8 sufficiente copiare e incollare al posto del listato di esempio preesistente del Bean il codice seguente:<\/p>\n<pre>\/*\r\n * JImagePanel.java\r\n *\r\n * Created on 20 maggio 2011, 21.21\r\n *\/\r\npackage beans;\r\n\r\nimport java.awt.Graphics;\r\nimport java.io.Serializable;\r\nimport javax.swing.Icon;\r\nimport javax.swing.JComponent;\r\n\r\n\/**\r\n * @author Gianfranco Oddenino\r\n *\/\r\npublic class JImagePanel extends JComponent implements Serializable {\r\n\r\n    private Icon icon = null;\r\n    private int iconX = 0, iconY = 0;\r\n\r\n    @Override\r\n    protected void paintComponent(Graphics g) {\r\n        super.paintComponent(g);\r\n        if (icon != null) {\r\n            icon.paintIcon(this, g, iconX, iconY);\r\n        }\r\n    }\r\n\r\n    public Icon getIcon() {\r\n        return icon;\r\n    }\r\n\r\n    public void setIcon(Icon icon) {\r\n        this.icon = icon;\r\n        repaint();\r\n    }\r\n\r\n    public int getIconX() {\r\n        return iconX;\r\n    }\r\n\r\n    public void setIconX(int iconX) {\r\n        this.iconX = iconX;\r\n        repaint();\r\n    }\r\n\r\n    public int getIconY() {\r\n        return iconY;\r\n    }\r\n\r\n    public void setIconY(int iconY) {\r\n        this.iconY = iconY;\r\n        repaint();\r\n    }\r\n\r\n}<\/pre>\n<p style=\"text-align: justify\">Fatto ci\u00f2 possiamo compilare la libreria Beans cliccando con il tastro destro del mouse sulla radice dell&#8217;albero <strong>Beans<\/strong> e selezionando Clean and Build Project. Verr\u00e0 creato un archivio <em>Beans.jar<\/em> contenente il nostro nuovo bean.<\/p>\n<ul>\n<li>Tools &gt; Palette Manager &gt; Swing\/AWT Component &gt; Add from JAR &gt; Selezionare nella cartella Beans\/dist il file <em>Beans.jar<\/em> appena creato &gt; Next &gt;<\/li>\n<li>Selezionare il nuovo bean <strong>JImagePanel<\/strong> &gt; Next &gt; Aggiungerlo alla palette <em>Beans<\/em> &gt; Finish<\/li>\n<\/ul>\n<p style=\"text-align: justify\">Il nuovo Bean sar\u00e0 d&#8217;ora in poi disponibile nella linguetta Beans della palette dei componenti Swing\/AWT e potr\u00e0 essere inserito in qualunque applicazione Java visuale.<\/p>\n<p style=\"text-align: justify\">Potete scaricare il seguente file ZIP contenente il file <strong>Beans.jar<\/strong> con tutti i Beans che utilizzo abitualmente con i miei studenti: <strong>JOxy<\/strong>, <strong>JPlot<\/strong>, <strong>JTimer<\/strong>, <strong>JImagePanel<\/strong> e altri, con la relativa icona grafica. L&#8217;assegnazione dell&#8217;icona e la visibilit\u00e0 delle propriet\u00e0 devono essere fatte mediante la costruzione di una classe <em>BeanInfo<\/em>, che vedremo in seguito su questa pagina.<\/p>\n<p>Download: <a href=\"https:\/\/liceocuneo.it\/oddenino\/wp-content\/uploads\/sites\/2\/Beans.zip\">Beans.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I Bean (letteralmente, chicchi di Java) sono classi scritte in linguaggio di programmazione Java secondo una particolare convenzione. Sono usate per incapsulare molti oggetti in un singolo oggetto (il bean), cos\u00ec da poter passare il bean invece degli oggetti individuali. La specifica della Sun Microsystems le definisce come &#8220;componenti software riutilizzabili che possono essere manipolate &hellip; <a href=\"https:\/\/liceocuneo.it\/oddenino\/informatica\/java\/beans\/\" class=\"more-link\">Continua a leggere <span class=\"screen-reader-text\">Beans<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"parent":50,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-423","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/pages\/423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/types\/page"}],"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=423"}],"version-history":[{"count":0,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/pages\/423\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/pages\/50"}],"wp:attachment":[{"href":"https:\/\/liceocuneo.it\/oddenino\/wp-json\/wp\/v2\/media?parent=423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}