Il codice generato automaticamente da NetBeans



Похожие документы
Laoratorio di sistemi Estrazione di una carta senza ripetizione Java [NetBeans]

GUI e java swing. Templates per GUI degli IDE. Gli IDE forniscono Template per generare interfacce grafiche.

GUI e java swing. Elmenti della GUI. Eventi e listener contenitori componenti layout manager. caratteristiche speciali

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

Le basi del linguaggio Java

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo

GESTIONE DEGLI ERRORI

RTTI Run-time type identification

Esercitazione n 6. Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Gerarchia delle classi Classi astratte Interfacce (Eccezioni) Laboratorio di Programmazione - Esercitazio 1

Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Polistena (RC)

hashmap.pdf Pag. 1/6 Cozzetto

Prova d Esame Compito A

Java thread, concorrenza

18 - Classi parzialmente definite: Classi Astratte e Interfacce

I Layout Manager di java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni

Alberi Binario in Java

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

Esercitazione n 2. Obiettivi

Le command line di Java

La prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete

Cosa è importante: pom.xml Goal Plug-in Repository

Linguaggi di Programmazione I Lezione 10

Eventi e listener per i componenti grafici

Gruppi di Thread. Java threads (3) Gruppi di thread e Timer. Operating Systems. Operating Systems. Java threads 3. Java threads 3

Sezione: Upcast - downcast

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre Negli esercizi proposti si utilizzano le seguenti classi:

Транскрипт:

Il codice generato automaticamente da NetBeans La creazione di applicazioni in NetBeans si svolge principalmente con il supporto di strumenti grafici per la progettazione dell interfaccia utente, tramite il posizionamento delle componenti e l impostazione delle proprietà. Anche l associazione alle componenti del codice per la gestione degli eventi è facilitato e reso in parte automatico dall ambiente di sviluppo grafico. Gli ambienti di sviluppo grafico mascherano al programmatore il codice sorgente e si occupano di generare automaticamente tutte le istruzioni necessarie per realizzare l interfaccia grafica definita nella finestra di Design. Prendendo come spunto il Progetto 2, la cui soluzione è stata presentata nel libro di testo, mostriamo il modo con cui NetBeans genera automaticamente il codice Java. In particolare consideriamo la classe SommaFrame, sottoclasse di JFrame, contenente la finestra grafica dell applicazione. Aprendo il file SommaFrame.java, si possono notare diversi elementi generati da NetBeans. 1) I commenti sono inseriti da NetBeans prima dell intestazione dei metodi, per esempio * Creates new form SommaFrame 2) Il metodo privato initcomponents contiene le istruzioni per creare le componenti grafiche e posizionarle nel contenitore. Per esempio, la creazione dell oggetto lbladdendo1 è gestita dalla seguenti istruzioni: lbladdendo1 = new javax.swing.jlabel(); lbladdendo1.settext("addendo1"); Per il posizionamento dell oggetto è stato usato il metodo addcomponent(lbladdendo1). 3) Il metodo btncalcolaactionperformed gestisce la pressione del pulsante. La sua intestazione, creata automaticamente da NetBeans, è private void btncalcolaactionperformed(java.awt.event.actionevent evt) 4) La dichiarazione degli oggetti associati alle componenti grafiche è posizionata alla fine della classe. private javax.swing.jbutton btncalcola; private javax.swing.jlabel lbladdendo1; private javax.swing.jlabel lbladdendo2; private javax.swing.jlabel lbltotale; private javax.swing.jtextfield txtaddendo1; private javax.swing.jtextfield txtaddendo2; private javax.swing.jtextfield txttotale; Si noti che il nome delle classi è riportato nella forma completa, preceduto cioè dal nome del package. Usando questo tipo di dichiarazione, NetBeans evita di dover specificare i comandi import all inizio della classe. 1

Il codice completo della classe SommaFrame generato da NetBeans è riportato di seguito. * To change this template, choose Tools Templates * and open the template in the editor. * * @author public class SommaFrame extends javax.swing.jframe { * Creates new form SommaFrame public SommaFrame() { initcomponents(); * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="generated Code"> private void initcomponents() { lbladdendo1 = new javax.swing.jlabel(); txtaddendo1 = new javax.swing.jtextfield(); lbladdendo2 = new javax.swing.jlabel(); txtaddendo2 = new javax.swing.jtextfield(); btncalcola = new javax.swing.jbutton(); lbltotale = new javax.swing.jlabel(); txttotale = new javax.swing.jtextfield(); setdefaultcloseoperation(javax.swing.windowconstants.exit_on_close); lbladdendo1.settext("addendo1"); lbladdendo2.settext("addendo2"); btncalcola.settext("calcola"); btncalcola.settooltiptext(""); btncalcola.addactionlistener(new java.awt.event.actionlistener() { public void actionperformed(java.awt.event.actionevent evt) { btncalcolaactionperformed(evt); ); lbltotale.settext("totale"); lbltotale.setcursor(new java.awt.cursor(java.awt.cursor.default_cursor)); lbltotale.setname(""); 2

javax.swing.grouplayout layout = new javax.swing.grouplayout(getcontentpane()); getcontentpane().setlayout(layout); layout.sethorizontalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgap(49, 49, 49).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING).addComponent(lblAddendo2).addComponent(lblAddendo1).addComponent(lblTotale)).addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED).addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addComponent(txtTotale).addGap(87, 87, 87)).addComponent(txtAddendo2).addGap(2, 2, 2)).addComponent(txtAddendo1, javax.swing.grouplayout.preferred_size, 200, javax.swing.grouplayout.preferred_size).addcontainergap()))).addgroup(javax.swing.grouplayout.alignment.trailing, layout.createsequentialgroup().addcontainergap(javax.swing.grouplayout.default_size, Short.MAX_VALUE).addComponent(btnCalcola).addGap(108, 108, 108)) ); layout.setverticalgroup( layout.createparallelgroup(javax.swing.grouplayout.alignment.leading).addgap(40, 40, 40).addComponent(lblAddendo1).addComponent(txtAddendo1, javax.swing.grouplayout.preferred_size, 30, javax.swing.grouplayout.preferred_size)).addcomponent(lbladdendo2).addcomponent(txtaddendo2, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size)).addcomponent(btncalcola).addcomponent(txttotale, javax.swing.grouplayout.preferred_size, javax.swing.grouplayout.default_size, javax.swing.grouplayout.preferred_size).addcomponent(lbltotale)).addcontainergap(84, Short.MAX_VALUE)) ); pack(); // </editor-fold> 3

private void btncalcolaactionperformed(java.awt.event.actionevent evt) { double num1, num2, totale; num1 = Double.parseDouble(txtAddendo1.getText()); num2 = Double.parseDouble(txtAddendo2.getText()); totale = num1+num2; txttotale.settext(""+totale); * @param args the command line arguments public static void main(string args[]) { * Set the Nimbus look and feel //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> * If Nimbus (introduced in Java SE 6) is not available, stay with the * default look and feel. For details see * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html try { for (javax.swing.uimanager.lookandfeelinfo info : javax.swing.uimanager.getinstalledlookandfeels()) { if ("Nimbus".equals(info.getName())) { javax.swing.uimanager.setlookandfeel(info.getclassname()); break; catch (ClassNotFoundException ex) { catch (InstantiationException ex) { catch (IllegalAccessException ex) { catch (javax.swing.unsupportedlookandfeelexception ex) { //</editor-fold> * Create and display the form java.awt.eventqueue.invokelater(new Runnable() { public void run() { new SommaFrame().setVisible(true); ); 4

// Variables declaration - do not modify private javax.swing.jbutton btncalcola; private javax.swing.jlabel lbladdendo1; private javax.swing.jlabel lbladdendo2; private javax.swing.jlabel lbltotale; private javax.swing.jtextfield txtaddendo1; private javax.swing.jtextfield txtaddendo2; private javax.swing.jtextfield txttotale; // End of variables declaration 5