Swing e la programmazione a eventi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Swing e la programmazione a eventi"

Transcript

1 Swing e la programmazione a eventi

2 Lo stile basato su eventi I componenti interagiscono attraverso l invio di messaggi broadcast o multicast Attenzione! C è un incendio Si avvisano i signori passeggeri che Ogni componente notifica un cambiamento nel proprio stato o in quello dell ambiente inviando un messaggio In tal caso agisce da generatore dell evento Tutti i componenti interessati all evento descritto da tale messaggio ne ricevono copia In tal caso agiscono da ascoltatori dell evento In generale, il generatore dell evento non conosce né il numero né l identità degli ascoltatori 2

3 Caratteristiche generali Con il paradigma a eventi L applicazione è puramente reattiva Non è possibile identificare staticamente un flusso di controllo unitario Il programma principale si limita a inizializzare l applicazione, istanziando gli osservatori e associandovi gli opportuni handler Occorrenza dell evento A Occorrenza dell evento B Realtà Applicazione Osservatori Notifica dell evento A Notifica dell evento B Ascoltatore evento A Ascoltatore evento A listeners Ascoltatore evento B 3

4 Vantaggi Utili per sistemi altamente dinamici ed evolutivi, in cui nuovi moduli si possono aggiungere o possono essere eliminati Per comunicare tra di loro, i moduli non devono conoscere le rispettive identità come invece accade in Java nomemodulo.nomeservizio (parametri) Si parla più in generale di paradigma di progettazione "publish and subscribe" moduli che generano eventi ("publish") moduli che sottoscrivono l'interesse ad essere notificati dell'occorrenza di certi eventi ("subscribe") 4

5 In pratica subscribe y y x Gestore degli eventi subscribe z subscribe x 5

6 Modello a eventi in Java Un applicazione può essere cost ruit a come component i che interagiscono attraverso eventi Utilizzando le convenzioni dei JavaBean Qui noi vediamo il package javax.swing libreria che fornisce le classi che consentono la progettazione delle interfacce utente secondo lo stile ad eventi 6

7 Swing

8 GUI GUI: Graphical User Interface L'interfaccia utente costituisce il mezzo con il quale l'utente interagisce con l'applicazione costituisce il "look&feel" Fondamentale per l'usabilità del software Come si progetta? 8

9 Progettazione Separare GUI e parte funzionale La GUI si preoccupa di interagire con l'utente visualizzare accettare input La parte funzionale contiene la logica applicativa Vantaggi GUI modificabile senza toccare la parte funzionale e viceversa Diverse strategie "look&feel" per la stessa applicazione Spesso le modifiche si incentrano sulla GUI al fine di migliorare l'usabilità 9

10 Model-View-Controller Swing si basa su un paradigma di progettazione che si incontra anche in altri campi: Un componente ha un suo modello logico Un componente ha un suo aspetto visuale Un componente ha comportamenti che consentono la sua interazione con il resto dell applicazione Esempio -> JButton Model: Premuto/Rilasciato (variabile booleana) View: dipende dal look&feel Controller: ActionPerformed della classe ActionListner collegata al JButton (ci torneremo) 10

11 AWT e Swing Abstract Windowing Toolkit (AWT) Sono un residuo di precedenti versioni di JAVA fornisce ancora alcune importanti componenti al funzionamento e creazione di elementi di interfaccia Swing Consentono di realizzare applicazioni con un look and feel più aggiornato e elegante Si basano su un modello di interazione introdotto da JAVA2 Hanno superato alcuni dei difetti di AWT Chiedono servizi al sistema operativo, ma (normalmente) ad un livello più basso e riescono così ad avere un maggiore controllo del look&feel Sono una estensione del core di JAVA e possono risultare più complesse da programmare Consentono un maggior controllo del look&feel di un applicazione e garantiscono il medesimo look&feel su tutte le piattaforme 11

12 AWT e Swing Il nome di tutti i componenti Swing inizia con J La convenzione è JXxxx I componenti Swing sono lightweight Un componente lightweight implementa il suo look-and-feel direttamente in Java senza delegarlo al sistema operativo che ospita l applicazione Maggior uniformità di comportamento È bene non includere componenti Swing ed AWT in una stessa interfaccia: I componenti AWT (heavyweight) vengono sempre mostrati sopra i componenti Swing (ad esempio con i Menu) Problema dovuto alla mancanza di compatibilità fra i due framework 12

13 Un interfaccia Swing Tre elementi fondamentali Contenitori Elementi grafici Eventi 13

14 Frame Un frame Definisce l intelaiatura dell interfaccia Fornisce un rettangolo, decorato alla maniera delle finestre cui siamo abituati E un oggetto COMPLESSO! QuickTime and a TIFF (LZW) decompressor are needed to see this picture. 14

15 JFrame Come in tutta la programmazione ad oggetti occorre conoscere la gerarchia entro la quale si colloca JFrame Per conoscere la derivazione di ogni oggetto delle librerie GUI di Swing si deve fare ricorso alla documentazione in linea di Java java.lang.object java.awt.component java.awt.container java.awt.window java.awt.frame javax.swing.jframe 15

16 JFrame QuickTime and a TIFF (LZW) decompressor are needed to see this picture. 16

17 Scorrendo la gerarchia Component A component is an object having a graphical representation that can be displayed on the screen and that can interact with the user. Examples of components are the buttons, checkboxes, and scrollbars of a typical graphical user interface Component è quindi una classe molto generale e definisce un sacco di metodi Container Un Component con la proprietà di essere abilitato a contenere altri Component Prevede metodi di tipo add per aggiungere componenti Prevede anche metodi per rappresentare il contenitore e i suoi contenuti e per aggiornarne l immagine 17

18 Scorrendo la gerarchia Window È un particolare contenitore che può apparire sullo schermo come entità propria, ma non ha bordi, barre e controlli Possiede metodi per mostrare la finestra, nascondere la finestra, posizionare la finestra e aggiustare l ordine di comparizione relativamente ad altre finestre Frame Si tratta di Window con bordi e barra del titolo, oltre alle caratteristiche solite di un interfaccia (minimizzazione, iconizzazione, chiusura, resizing) JFrame È un Frame AWT a cui SWING aggiunge una serie di metodi per ridefinire i dettagli grafici. Ad esempio l metodo setsize(int l, int h) permette di determinare le dimensioni del Frame Il metodo setlocation(int x, int y) consente di definire le coordinate del pixel in alto a sinistra del frame nel riferimento dello schermo 18

19 Cosa possiamo fare con un JFrame? Non possiamo disegnare, scrivere o aggiungere elementi direttamente al Frame Gli elementi diversi dal Menu debbono essere aggiunti ad un Container opportuno Ad esempio Per scrivere del testo dentro un Frame, il testo dovrà essere scritto (aggiunto) al pannello contentpane del JFrame Per convenienza il metodo add() di JFrame si occupa di tutto il lavoro frame.getcontentpane().add(label) = frame.add(label) 19

20 HelloWorldSwing import javax.swing.*; public class HelloWorldSwing { private static void createandshowgui() { JFrame frame = new JFrame("HelloWorldSwing"); JLabel label = new JLabel("Hello World"); frame.getcontentpane().add(label); frame.pack(); frame.setvisible(true); } } public static void main(string[] args) { createandshowgui(); } 20

21 HelloWorldSwing (seconda versione) import javax.swing.*; public class HelloWorldSwing { private static void createandshowgui() { JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("HelloWorldSwing"); frame.setdefaultcloseoperation(jframe.exit_on_close); JLabel label = new JLabel("Hello World"); frame.getcontentpane().add(label); frame.pack(); frame.setvisible(true); } } public static void main(string[] args) { createandshowgui(); } 21

22 Look&feel 22

23 Look&feel nativo public class WindowUtilities { public static void setnativelookandfeel() { try { UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName()); } catch(exception e) { System.out.println( Problema Look and feel nativo + e); } } 23

24 Aggiungiamo componenti Dobbiamo sapere: Da dove prendere i componenti? Una lista/descrizione delle librerie disponibili Come costruirli e personalizzarli? Costruttori e modificatori Come usarli? Quali eventi sono in grado di raccogliere e quali i listener necessari Come disporli sui frame che costituiscono la nostra applicazione? Layout manager 24

25 Container Top-level container JApplet JDialog JFrame General-purpose container JPanel JScrollPane JSplitPane JTabbedPane 25

26 Container Special-purpose container JInternalFrame JLayeredPane JToolBar Permette di inserire frame dentro altri frame Permette di semplificare l attivazione di determinate funzioni per mezzo di semplici pulsanti Permette di inserire componenti a vari livelli di profondità 26

27 Controlli di base JButtons JComboBox JList JMenu Include buttons, radiobuttons, checkbox, MenuItem, ToggleButton JSlider JTextField Include JPasswordField, JTextArea 27

28 Visualizzatori di informazioni non editabili JLabel JProgressBar Jcomponent.setToolTipText(String) Può includere immagini e/o testo 28

29 Visualizzatori di informazioni formattate editabili JColorChooser JFileChooser JTable JTextComponent JTree JTextField, JPasswordField, JTextArea, JEditorPane, JTextPane 29

30 Altri componenti grafici Label PushButton CheckBoxButton ScrollBar PullDownMenu PopupMenu 30

31 Layout Java gestisce la disposizione dei componenti dentro i Container mediante oggetti che si chiamano LayoutManager Incapsulano gli algoritmi per il posizionamento delle componenti di una GUI Il LayoutManager mantiene l algoritmo separato in una classe a parte È un interfaccia che descrive come un componente deve comunicare con il suo LayoutManager Esiste un ampia collezione di LayoutManager, ma se si vuole si può creare il proprio Noi vediamo solo i LayoutManager più comuni: FlowLayout, BorderLayout, GridLayout, CardLayout e GridBagLayout L associazione avviene tramite il metodo setlayout() di cui è provvista la classe Container (e quindi tutte le sue sottoclassi) p.setlayout(new BorderLayout()); 31

32 FlowLayout E il più semplice. La sua strategia è: Rispettare la dimensione di tutti i componenti Disporre i componenti in orizzontale finché non viene riempita tutta una riga, altrimenti iniziare su una nuova riga Se non c è spazio i componenti non vengono visualizzati private static void createandshowgui() { JFrame frame = new JFrame("Flow"); frame.setlayout(new FlowLayout()); frame.add(new JButton("Button1")); frame.add(new JButton("Button2")); frame.add(new JButton("Button3")); frame.add(new JButton("Button4")); frame.add(new JButton("Button5")); frame.pack(); frame.setvisible(true); } 32

33 BorderLayout Definisce 5 aree logiche: NORTH, SOUTH, CENTER, EAST e WEST Richiede la dimensione preferita del componente (altezza e larghezza) Se il componente è NORTH o SOUTH setta l altezza al valore preferito e la larghezza in modo da occupare tutto lo spazio orizzontale Se il componente è EAST o WEST setta la larghezza al valore preferito e l altezza in modo da occupare tutto lo spazio verticale restante Se il componente è CENTER setta l altezza e la larghezza in modo da occupare tutto lo spazio centrale restante Quindi Le posizioni NORTH e SOUTH servono quando vogliare fissare l altezza di un componente al valore preferito Le posizioni EAST e WEST servono quando vogliamo fissare la larghezza di un componente al valore preferito La parte CENTER è quella che si espande 33

34 Esempio private static void createandshowgui() { JFrame frame = new JFrame("Border"); frame.setlayout(new BorderLayout()); frame.add(new JButton("North"), BorderLayout.NORTH); frame.add(new JButton("South"), BorderLayout.SOUTH); frame.add(new JButton("Center"), BorderLayout.CENTER); frame.add(new JButton("East"), BorderLayout.EAST); frame.add(new JButton("West"), BorderLayout.WEST); frame.pack(); frame.setvisible(true); } 34

35 GridLayout Dispone i componenti su una griglia private static void createandshowgui() { JFrame frame = new JFrame("Grid"); frame.setlayout(new GridLayout(3,4)); for (int x=1; x<13; x++) frame.add(new JButton(""+x)); frame.pack(); frame.setvisible(true); } 35

36 Stratificazione private static void createandshowgui() { JFrame f = new JFrame( Example"); JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); JPanel p4 = new JPanel(); } f.setlayout(new BorderLayout()); p2.setlayout(new FlowLayout()); p4.setlayout(new BorderLayout()); p4.add(new JButton("Button1"), BorderLayout.EAST); p4.add(new JButton("Button2"), BorderLayout.WEST); p2.add(p3); p2.add(p4); f.add(p1, BorderLayout.NORTH); f.add(p2, BorderLayout.SOUTH); f.pack(); f.setvisible(true); 36

37 Eventi L interazione tra gli elementi dell interfaccia e la logica applicativa è gestita tramite eventi Gli EventListener sono interfacce definite per catturare e processare tipi di eventi particolari Un listener deve Essere associato al componente Essere informato quando il componente genera un evento del tipo richiesto Rispondere facendo qualcosa di appropriato 37

38 EventHandler Devono avere tre pezzi di codice Dichiarazione Estendono o implementano listener esistenti public class MyClass implements ActionListener { Associazione tra handler (ovvero listener) e istanza somecomponent.addactionlistener(instanceofmyclass); Definizione del codice che implementa i metodi dell interfaccia listener public void actionperformed(actionevent e) {... 38

39 Un primo esempio public class Demo extends JFrame implements ActionListener { JButton b = new JButton("Click me!"); public Demo() { b.addactionlistener(this); getcontentpane().add(b); pack(); setvisible(true); } public void actionperformed(actionevent e) { b.setbackground(color.red); } 39

40 Eventi e Listener Categoria Mouse Keyboard Selezione elem input di testo scrollbar bottoni, menu,... cambiamenti nella finestra focus Evento MouseEvent KeyEvent ItemEvent TextEvent AdjustmentEvent ActionEvent WindowEvent FocusEvent handler MouseListener, MouseMotionListener KeyListener ItemListener TextListener AdjustmentListener ActionListener WindowListener FocusListener 40

41 Esempio completo (parte I) import java.awt.*; import java.awt.event.*; import javax.swing.*; public class CheckDemo { static JFrame jframe = new JFrame("Example"); public static void setupjframe() { jframe.setsize(400,100); jframe.setvisible(true); jframe.getcontentpane().setlayout( new FlowLayout() ); } WindowListener l = new MyWindowAdapter(); jframe.addwindowlistener(l); 41

42 Esempio completo (parte II) public static void main(string[] args) { setupjframe(); JCheckBox jck1 = new JCheckBox("Pepperoni"); JCheckBox jck2 = new JCheckBox("Mushroom"); JCheckBox jck3 = new JCheckBox("Black olives"); JCheckBox jck4 = new JCheckBox("Tomato"); jck1.addactionlistener(new MyActionListener()); jck2.additemlistener(new MyItemListener()); } } Container c = jframe.getcontentpane(); c.add(jck1); c.add(jck2); c.add(jck3); c.add(jck4); jframe.pack(); 42

43 Esempio completo (parte III) ActionEvent public class MyActionListener implements ActionListener { public void actionperformed(actionevent e) { System.out.println("event = " + e); } } ItemEvent public class MyItemListener implements ItemListener { public void itemstatechanged(itemevent e) { if (e.getstatechange()==e.selected) System.out.print("selected "); else System.out.print("de-selected "); System.out.print("Mushroom\n"); } } 43

44 Esempio completo (parte IV) WindowEvent public class MyWindowAdapter extends WindowAdapter { public void windowclosing(windowevent e) {System.exit(0);} } 44

45 Altro esempio QuickTime and a TIFF (LZW) decompressor are needed to see this picture. public class SwingApplication implements ActionListener { private static String labelprefix = "Number of button clicks: "; private int numclicks = 0; final JLabel label = new JLabel(labelPrefix + "0 "); public Component createcomponents() { JButton button = new JButton("I'm a Swing button!"); button.setmnemonic(keyevent.vk_i); button.addactionlistener(this); label.setlabelfor(button); JPanel pane = new JPanel(new GridLayout(0, 1)); pane.add(button); pane.add(label); pane.setborder(borderfactory.createemptyborder( 30, //top 30, //left 10, //bottom 30) //right ); return pane; } 45

46 Altro esempio public void actionperformed(actionevent e) { numclicks++; label.settext(labelprefix + numclicks); } } private static void createandshowgui() { JFrame.setDefaultLookAndFeelDecorated(true); JFrame frame = new JFrame("SwingApplication"); frame.setdefaultcloseoperation(jframe.exit_on_close); SwingApplication app = new SwingApplication(); Component contents = app.createcomponents(); frame.getcontentpane().add(contents, BorderLayout.CENTER); frame.pack(); frame.setvisible(true); } public static void main(string[] args) { createandshowgui(); } 46

47 Swing e multi-threading Un piccolo approfondimento

48 GUI Swing - multithreading Quando si scrive una GUI Swing si assiste a un cambio di paradigma Programma con flusso centralizzato -> programma reattivo basato su eventi Per questo motivo le Swing adottano un architettura multithread. Ciò permette di ottenere interfacce sempre reattive e che non si bloccano Esempio: se ho un client di posta elettronica e qualcuno mi spedisce un messaggiodi 10M voglio comunque potere: vedere l intestazione della mail, vedere una barra che mi indica quanto manca al download, scrivere una nuova mail nel frattempo, ecc. 48

49 3 tipi di thread - thread iniziale Il thread principale si occupa di inizializzare l interfaccia grafica. import javax.swing.*; public class HelloWorldSwing { private static void createandshowgui() { JFrame frame = new JFrame("HelloWorldSwing"); JLabel label = new JLabel("Hello World"); frame.getcontentpane().add(label); frame.pack(); frame.setvisible(true); } public static void main(string[] args) { createandshowgui(); } } // posso andare avanti a fare altro 49

50 3 tipi di thread - Event Dispatch Thread (EDT) Tutto il codice per la gestione dell interfaccia grafica viene eseguito dentro l EDT. Esiste una coda di eventi di sistema che raccoglie i click del mouse, la pressione sui tasti della tastiera, ecc. L EDT controlla ciclicamente la coda. Raccoglie un evento e decide cosa farne. Se è un click su un bottone chiama il metodo per la gestione del click del mouse su quel bottone. La gestione mediante coda garantisce che venga rispettato un certo ordine nella gestione degli eventi 50

51 Immaginiamo cosa sarebbe successo se non avessimo avuto l EDT. Ipotizziamo di avere due tasti: A e B Tasto A: Legge il contenuto di un file e lo presenta all utente all interno di una textbox. Tasto B: Legge dallo stesso textbox e scrive i contenuti su un file Cosa succede se premo molto velocemente prima A e poi B? Probabilmente avrei un comportamento anomalo!!! E per questo che tutto ciò che lavora sull interfaccia gira all interno di un univo thread (l EDT). 51

52 SwingUtilities Il modo giusto di inizializzare una GUI quindi non è quello che abbiamo visto prima, ma SwingUtilities.invokeLater(new Runnable() { public void run() { createandshowgui(); } } In questomodocreoun oggettorunnable(ilqualesioccupadi creare l interfaccia) e chiedo che venga gestito dall EDT. Esiste anche: SwingUtilities.invokeAndWait(new Runnable() { }) 52

53 La coda degli eventi di sistema 53

54 Considerazioni per la progettazione Per avere una buona interfaccia grafica cbisogna essere reattivi Bisogna dare l impressione all utente che sia sempre in controllo Il segreto è cercare di scrivere EventListener che siano veloci In questo modo eviteremo situazioni in cui un click può portare a una lunga attesa prima di vedere un risultato Ma se devo fare qualcosa che richiede tempo? Come faccio? Dobbiamo introdurre il terzo tipo di thread 54

55 3 tipi di thread - Worker Thread Il Worker thread viene creato dal programmatore per l esecuzione di compiti gravosi in background 55

56 Un indizio Per capire a fondo dobbiamo introdurre (per davvero) il multi-threading e la concorrenza in Java Sono argomenti di Info 3 Per chi volesse approfondire per conto proprio Il modo giusto è quello di usare un oggetto SwingWorker Definisce un metodo che si occupa del lavoro in background, e Un secondometodocheinveceverrà eseguito nell EDT e che fa da ponte tra il background thread e la GUI 56

57 Link utili Resources/Slides/Chapter17.ppt Building Graphical User Interfaces with Java sysc-2004/w04/lectures/sysc a-Gui.ppt Graphical User Interfaces with Java 57

Alessandro De Luca. Lezione, 13 maggio 2015

Alessandro De Luca. Lezione, 13 maggio 2015 Basi Basi di di dati dati ee sistemi sistemi informativi informativi II mod.laboratorio mod.laboratorio Alessandro De Luca Università degli Studi di Napoli Federico II Lezione, Introduzione a Java Swing

Dettagli

Introduzione (Swing vs AWT)

Introduzione (Swing vs AWT) Swing Introduzione (Swing vs AWT) Swing Swing sono delle librerie introdotte a partire dalla versione 1.2 del JDK come evoluzione concettuale delle librerie precedenti (Abstract Window Toolkit (AWT)) AWT

Dettagli

Programmazione Java: Interfacce grafiche (GUI)

Programmazione Java: Interfacce grafiche (GUI) Programmazione Java: Interfacce grafiche (GUI) romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp ( 1 ) (GUI) Interfacce grafiche Rendere facili le cose semplici e possibili le cose difficili

Dettagli

L interfaccia grafica in Java

L interfaccia grafica in Java L interfaccia grafica in Java Java possiede due package per la creazione di interfacce grafiche java.awt javax.swing AWT (Abstract Widget Toolkit) presente già in Java 1.0, migliorato in Java 1.1. Invariato

Dettagli

L interfaccia grafica con Java

L interfaccia grafica con Java L interfaccia grafica con Java 1/24 L interfaccia utente serve per la comunicazione tra utente e programma Distinguiamo le interfacce tra quelle a caratteri e quelle grafiche Le GUI (Graphical user interface)

Dettagli

Sviluppo di Interfacce Grafiche in Java

Sviluppo di Interfacce Grafiche in Java Sviluppo di Interfacce Grafiche in Java Massimiliano de Leoni (con la supervisione del docente Massimo Mecella) Università di Roma La Sapienza - Sede di Latina Corso di Progettazione del Software A.A.

Dettagli

Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni

Le basi della grafica in Java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Le basi della grafica in Java Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Elaborazione classica o imperativa L elaborazione è concentrata nel momento centrale, durante

Dettagli

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

Autore: Prof. Agostino Sorbara ITIS M. M. Milano Polistena (RC) In questa lezione introduciamo alcuni strumenti che Java rende disponibili per la creazione di interfacce utente a manipolazione diretta, dette anche WYSISYG (what you see is what you get), con un elevato

Dettagli

Classi astratte. Master in Web Technology e Security luglio - settembre 2000. Interfacce

Classi astratte. Master in Web Technology e Security luglio - settembre 2000. Interfacce Master in Web Technology e Security luglio - settembre 2000 JAVA Alberto Martelli Parte III Programmazione grafica Classi astratte Vogliamo implementare un algoritmo di ordinamento di un array che sia

Dettagli

Interazioni col mondo: eventi

Interazioni col mondo: eventi Interazioni col mondo: eventi Le interazioni di una GUI con il mondo esterno sono segnalate tramite eventi: click del mouse, inserimento di testo, selezione/attivazione... Gli eventi che memorizzano queste

Dettagli

Gestione di eventi ed interfacce utente grafiche

Gestione di eventi ed interfacce utente grafiche Gestione di eventi ed interfacce utente grafiche Eventi Ogni volta che l utente esegue un azione un clic del mouse la pressione di un tasto sulla tastiera la modifica di una finestra la selezione di un

Dettagli

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE

INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE INTERFACCE GRAFICHE IN JAVA CON SWING DISPENSE La Gestione degli Eventi Ogni oggetto grafico è predisposto ad essere sollecitato in qualche modo dall utente (per esempio un pulsante può essere premuto).

Dettagli

Interfacce grafiche. Una GUI (Graphic User Interface) contiene vari componenti: bottoni, etichette, immagini...

Interfacce grafiche. Una GUI (Graphic User Interface) contiene vari componenti: bottoni, etichette, immagini... Interfacce grafiche Una GUI (Graphic User Interface) contiene vari componenti: bottoni, etichette, immagini... Alcuni componenti ne contengono altri (ad esempio le finestre), e sono detti contenitori.

Dettagli

Programmazione in Java e gestione della grafica. Lezione 19

Programmazione in Java e gestione della grafica. Lezione 19 Programmazione in Java e gestione della grafica Lezione 19 2 Parliamo di Componenti della GUI (Graphics User Interface) OBIETTIVI 3 Imparare i principi su cui sono basate le GUI Costruire dellegui e gestire

Dettagli

Introduzione al package grafico Swing

Introduzione al package grafico Swing Introduzione al package grafico Swing Architettura di javax.swing Java supporta direttamente nella propria architettura il concetto di applicazione grafica, tramite il package javax.swing, in cui i componenti

Dettagli

Eventi di azione. // con interfaccia per eventi di azione

Eventi di azione. // con interfaccia per eventi di azione Eventi di azione (Interfaces ActionListener, Classes ActionEvent) Sono generati quando si premono bottoni, si selezionano voci di menù, si preme invio mentre si scrive in un campo di testo. In awt sono

Dettagli

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing

Progettazione e Sviluppo di Interfacce Grafiche con Java Swing Progettazione e Sviluppo di Interfacce Grafiche con Java Swing Esercitazioni di Progettazione del Software A.A. 2012 2013 Alessandro Russo e Massimo Mecella Sapienza Università di Roma Facoltà di Ingegneria

Dettagli

Swing. Swing 1. Java e la grafica Java permette di realizzare agevolmente applicazioni grafiche Package java.awt

Swing. Swing 1. Java e la grafica Java permette di realizzare agevolmente applicazioni grafiche Package java.awt Swing Swing 1 Java e la grafica Java permette di realizzare agevolmente applicazioni grafiche Package java.awt il primo package grafico (Java 1.0) indipendente dalla piattaforma... o quasi! Package javax.swing

Dettagli

maggio 2004 Stefano Sanna - gerda@crs4.it

maggio 2004 Stefano Sanna - gerda@crs4.it java.awt awt.* Abstract Window Toolkit maggio 2004 Agenda Java e interfacce grafiche Caratteristiche di AWT Design e implementazione di interfacce grafiche Panoramica dei componenti disponibili Primitive

Dettagli

Esercitazioni Ingegneria del So2ware 4 - Programmazione Java Introduzione a Swing

Esercitazioni Ingegneria del So2ware 4 - Programmazione Java Introduzione a Swing Esercitazioni Ingegneria del So2ware 4 - Programmazione Java Introduzione a Swing Giordano Tamburrelli tamburrelli@elet.polimi.it hcp://giordano.webfacgonal.com 1 Lo sgle basato su eveng I componeng interagiscono

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Ingegneria del software A Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Ingegneria del software A Interfacce grafiche (in Java) Michele Tomaiuolo Interfacce grafiche

Dettagli

Java Interfaccia Grafica

Java Interfaccia Grafica Java Interfaccia Grafica Testi di consultazione: a) core Java 1.1 (Volume I Fundamentals) Cay S. Horstmann, Gary Cornell, Prentice Hall, 1997. b) Java 1.2 Unleashed, Jamie Jaworski, Sams Publishing, 1998.

Dettagli

Thread e Concorrenza in Java Swing

Thread e Concorrenza in Java Swing Thread e Concorrenza in Java Swing Esercitazioni di Progettazione del Software A.A. 2013 2014 Alessandro Russo Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

Dettagli

ESERCITAZIONI SU Java

ESERCITAZIONI SU Java ESERCITAZIONI SU Java PER IL CORSO DI SISTEMI PER L ELABORAZIONE DELL INFORMAZIONE Claudia Picardi Dipartimento di Informatica - C.so Svizzera 185-10149 - Torino Tel. 0116706818 - e-mail: picardi@di.unito.it

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA5 B1 Gestione eventi 1 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti AWT o Swing Programmazione ad eventi 2 1 Introduzione Le interfacce create

Dettagli

BorderLayout. 1 Gestori di Layout http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html (guida visuale)

BorderLayout. 1 Gestori di Layout http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html (guida visuale) Posizionamento diretto di un elemento GUI o tramite gestori di layout Nel posizionamento diretto (dipendente dalle impostazioni grafiche del sistema) non abbiamo bisogno di un gestore di layout (layout

Dettagli

Threads e Concorrenza in Java Swing

Threads e Concorrenza in Java Swing SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Gestione degli eventi in Java

Gestione degli eventi in Java Gestione degli eventi in Java package java.awt.event.* Il modello degli eventi I componenti dell awt generano eventi in seguito alle azioni dell utente movimento del mouse click pressione di un tasto etc.

Dettagli

Esercitazione del Corso di Informatica Grafica. Strumenti per scrivere applicazioni in JAVA

Esercitazione del Corso di Informatica Grafica. Strumenti per scrivere applicazioni in JAVA Esercitazione del Corso di Informatica Grafica Strumenti per scrivere applicazioni in JAVA Perché Java Indipendenza dalla piattaforma Un applicazione scritta in Java può essere facilmente spostato da un

Dettagli

Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi.

Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi. SAPIENZA Università di Roma Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Dispensa didattica Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi. M. de Leoni, M. Mecella,

Dettagli

PROGRAMMAZIONE GRAFICA

PROGRAMMAZIONE GRAFICA PROGRAMMAZIONE GRAFICA Creazione di interfaccie utente grafiche, ovvero basate su concetti quali finestra, casella di testo, bottone, barra degli strumenti, menu. Elementi fondamentali: Componenti e composizione:

Dettagli

8. GUI : Graphics User Interface

8. GUI : Graphics User Interface pag.82 8. GUI : Graphics User Interface Un linguaggio ad oggetti ha come obiettivo principale quello di fornire al programmatore classi per la gestione di ambienti grafici a finestre. Se fino a questo

Dettagli

Corso Eclipse. Prerequisiti. 3 Window Builder

Corso Eclipse. Prerequisiti. 3 Window Builder Corso Eclipse 3 Window Builder 1 Prerequisiti Conoscenza elementare ambiente Eclipse Conoscere la nomenclatura dei componenti delle interfacce grafiche Conoscere attributi e metodi dei principali componenti

Dettagli

Raffaella Brighi, a.a. 2005/06. Eventi e listener. Corso di Laboratorio II. A.A. 2005-06

Raffaella Brighi, a.a. 2005/06. Eventi e listener. Corso di Laboratorio II. A.A. 2005-06 Raffaella Brighi, a.a. 2005/06 Eventi e listener Corso di Laboratorio II. A.A. 2005-06 Eventi e listener Un evento è un oggetto che rappresenta il verificarsi di un azione dell utente o del sistema(es

Dettagli

interfacce ed eventi intercettare il mouse ed altri eventi

interfacce ed eventi intercettare il mouse ed altri eventi interfacce ed eventi intercettare il mouse ed altri eventi interfacce: premessa il termine "interfaccia" occorre in Java con due significati, collegati ma distinti 1. interface, parola chiave di Java e

Dettagli

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE

UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE IDROID 86 LAB pagg 12-13 23-04-2007 14:57 Pagina 12 I-D01 LAB UN CLONE IN CLIKE C-LIKE DI SEGUIVISIONE PROGRAMMAZIONE Alcuni comportamenti predefiniti attivabili su I-Droid01 sono facilmente riproducibili

Dettagli

Grafico della parabola

Grafico della parabola Grafico della parabola Il grafico matematico è un disegno che mostra l andamento di una funzione f(x) al variare della variabile x. Per tracciare un grafico sul video del computer, si deve scegliere un

Dettagli

L applicazione di MVC alla simulazione di ascensore I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1

L applicazione di MVC alla simulazione di ascensore I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1 I COMPONENTI DELLE INTERFACCE UTENTE GRAFICHE: PARTE II 1 3.13 (Caso di studio facoltativo) Pensare a oggetti: Modello-Vista-Controllore I design pattern descrivono strategie efficaci per costruire sistemi

Dettagli

APPLICAZIONI & APPLET

APPLICAZIONI & APPLET APPLICAZIONI & APPLET Java è un ottimo linguaggio per costruire applicazioni anche non per Internet anche non grafiche ma si è diffuso storicamente, e trae forza, dal concetto di applet come piccola (?)

Dettagli

Marco Faella Elementi di programmazione di interfacce Grafiche. Il pattern OBSERVER.

Marco Faella Elementi di programmazione di interfacce Grafiche. Il pattern OBSERVER. Marco Faella Elementi di programmazione di interfacce Grafiche. Il pattern OBSERVER. 9 Lezione n. Parole chiave: Java Corso di Laurea: Informatica Insegnamento: Linguaggi di Programmazione II Email Docente:

Dettagli

Finestra.java. static String nomicolonne[] = {"ind.","cognome","nome","telefono","e-mail"}; //nomi delle colonne della tabella

Finestra.java. static String nomicolonne[] = {ind.,cognome,nome,telefono,e-mail}; //nomi delle colonne della tabella import java.awt.*; import java.awt.event.actionevent; import java.awt.event.actionlistener; import java.awt.event.windowevent; import java.awt.event.windowlistener; import java.io.*; import java.util.*;

Dettagli

JAVA Interfacce grafiche per Applicazioni ed Applet

JAVA Interfacce grafiche per Applicazioni ed Applet JAVA Interfacce grafiche per Applicazioni ed Applet Andrea BEI (andrea.bei@libero.it) Programmazione a finestre In JAVA è possibile sviluppare 2 tipi di programmi a finestre: APPLICAZIONI: Una Applicazione

Dettagli

TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet

TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE APPLICAZIONI WEB Linguaggio Java: Le Applet Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010

Java Applet. Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2009-2010 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Java Applet 1 Application VS Applet Una

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

23 - Graphical User Interface GUI (Cenni)

23 - Graphical User Interface GUI (Cenni) 23 - Graphical User Interface GUI (Cenni) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo

Dettagli

APPLICAZIONI & APPLET

APPLICAZIONI & APPLET APPLICAZIONI & APPLET Una applet ("applicazioncina") è una applicazione non autonoma, ma pensata per far parte di una pagina Internet Porta dinamicità alle pagine HTML "statiche" Viene eseguita dal browser,

Dettagli

Laboratorio di IUM. Lezione 3. La gestione degli eventi. Di Blasi Gianpiero - D.M.I. - Università di Catania

Laboratorio di IUM. Lezione 3. La gestione degli eventi. Di Blasi Gianpiero - D.M.I. - Università di Catania Di Blasi Gianpiero - D.M.I. - Università di Catania Laboratorio di IUM Lezione 3 La gestione degli eventi Cosa impareremo oggi? La filosofia della gestione gli eventi La gerarchia di eventi AWT Eventi

Dettagli

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame("Finestra"); // crea frame invisibile

I Canvas. import java.awt.*; import javax.swing.*; public class Graf{ public Graf () { JFrame f = new JFrame(Finestra); // crea frame invisibile I Canvas Tra i vari contenitori Java il Canvas (area di disegno o tela) è una semplice superficie di disegno particolarmente utile per visualizzare immagini o per effettuare altre operazioni grafiche.

Dettagli

AWT: Abstract Window Toolkit

AWT: Abstract Window Toolkit AWT: Abstract Window Toolkit E una libreria che offre le componenti GUI essenziali Tutte le componenti GUI che sono visualizzabili sono sottoclassi della classe astratta Component Container è una sottoclasse

Dettagli

Progettare un'applicazione di tipo GUI con tre menu e voci di menu (come nelle figure sottostanti):

Progettare un'applicazione di tipo GUI con tre menu e voci di menu (come nelle figure sottostanti): Progettare un'applicazione di tipo GUI con tre menu e voci di menu (come nelle figure sottostanti): All'attivazione della voce Apri del menu File corrisponde la possibilità di aprire un file scelto con

Dettagli

Sesta parte: Come creare una lista di distribuzione e come gestirla dalla rubrica.

Sesta parte: Come creare una lista di distribuzione e come gestirla dalla rubrica. Microsoft Outlook 2007. Di Nunziante Esposito. `*************` Sesta parte: Come creare una lista di distribuzione e come gestirla dalla rubrica. `***********` Dopo aver visto la rubrica che in questo

Dettagli

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE.

DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. DESCRIZIONE CREAZIONE APP Si suddivide in 4 fasi di lavoro: 1. PIANIFICAZIONE; 2. PROGETTAZIONE; 3. SVILUPPO; 4. DISTRIBUZIONE. PIANIFICAZIONE La pianificazione è la prima fase. Questa è la più delicata

Dettagli

Le Applet Java. Le Applet

Le Applet Java. Le Applet Le Applet Java ed anche i gestori del layout ed altri eventi ed altro ancora Le Applet Sono delle piccole applicazioni Non sono pensate per essere eseguite indipendentemente (non vengono lanciate con il

Dettagli

Programmazione Orientata agli Oggetti

Programmazione Orientata agli Oggetti Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato

Dettagli

Esempio: si vuole creare e aprire una finestra sul desktop. La finestra è un oggetto istanza di

Esempio: si vuole creare e aprire una finestra sul desktop. La finestra è un oggetto istanza di Swing Espresso. Uno scrittore è tanto più temibile quanto minore è il numero di pagine che gli sono necessarie per annoiare il suo lettore. Introduzione (breve). Questo testo non è un trattato esaustivo

Dettagli

Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette

Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente e ai programmi di gestire i dispositivi e le periferiche

Dettagli

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

Tutorial SWING-AWT: Il Layout Manager GridBagLayout Di Michele de Nittis

Tutorial SWING-AWT: Il Layout Manager GridBagLayout Di Michele de Nittis Tutorial SWING-AWT: Il Layout Manager GridBagLayout Di Michele de Nittis Generalità... 2 Il principio di funzionamento... 2 Impiego degli oggetti di classe GridBagLayout e GridBagConstraints... 2 Posizionamento

Dettagli

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

Utilizzare il NetBeans GUI Builder. Dott. Ing. M. Banci, PhD Utilizzare il NetBeans GUI Builder Dott. Ing. M. Banci, PhD Lavorare con i Beans Queste slide ci guidano nel processo di creazione di un bean pattern nel progetto NetBeans 15 Giugno 2007 Esercitazione

Dettagli

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

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo L6 (JAVA9) 1 Introduzione alle applet 1 Prerequisiti Architettura client/server Elementi di base HTML Programmazione Java Utilizzo package awt di Java 2 1 Introduzione

Dettagli

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/2002 4.1 Modelli di Base Dati 4 Un DBMS: Access a.a. 2001/2002 4.1 DBMS 4.2 DBMS = Data Base Management System Software per la costruzione e la gestione di una base dati Esempi di DBMS: Oracle, MySQL, SQLServer,

Dettagli

Release MOVIO SCMS. Versione Tutorial. Commenti Dichiarazione di copyright

Release MOVIO SCMS. Versione Tutorial. Commenti Dichiarazione di copyright Titolo Tutorial MOVIO: Multilinguismo Release MOVIO SCMS 1.00 Versione Tutorial 1.00 Data 16/02/14 Autori e affiliation Rubino Saccoccio (Gruppometa) Commenti Dichiarazione di copyright Abstract Questo

Dettagli

Informatica d ufficio

Informatica d ufficio Informatica d ufficio Anno Accademico 2008/2009 Lezione N 3 Microsoft Word - prima parte Microsoft Word E un Word processor,cioè un programma che consente di creare e modificare documenti. Prevede numerose

Dettagli

Autodesk Map parte I digitalizzazione e importazione dati

Autodesk Map parte I digitalizzazione e importazione dati Autodesk Map parte I digitalizzazione e importazione dati Marco Negretti e-mail: marco.negretti@polimi.it http://geomatica.como.polimi.it V 5.1 10/10/08 I dati in Autodesk Map I dati vengono memorizzati

Dettagli

Utilizzo collegamento remoto

Utilizzo collegamento remoto Utilizzo collegamento remoto Introduzione Il collegamento VPN (virtual private network) consente a PC collegati ad internet ma fisicamente fuori dalla rete interna regionale, di accedere, con le credenziali

Dettagli

LPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi

LPR 2005/ 2006 Lezione n.9. Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi LPR 2005/ 2006 Lezione n.9 Elementi di grafica per lo svolgimento del progetto Double Buffering Caricamento delle immagini Gestione degli eventi JAVA 2D PROGRAMMING Schermo : Matrice rettangolare composta

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Grafici. 1 Generazione di grafici a partire da un foglio elettronico

Grafici. 1 Generazione di grafici a partire da un foglio elettronico Grafici In questa parte analizzeremo le funzionalità relative ai grafici. In particolare: 1. Generazione di grafici a partire da un foglio elettronico 2. Modifica di un grafico 1 Generazione di grafici

Dettagli

Alcune idee sui sistemi software e la loro architettura

Alcune idee sui sistemi software e la loro architettura Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno

Dettagli

Esercizio 1: archivio CD e DVD

Esercizio 1: archivio CD e DVD Esercizio 1: archivio CD e DVD Realizzare un applicazione Java per la creazione e la consultazione di un archivio di dischi ottici (CD e DVD). L applicazione riceve da standard input in maniera interattiva

Dettagli

EXCEL: FORMATTAZIONE E FORMULE

EXCEL: FORMATTAZIONE E FORMULE EXCEL: FORMATTAZIONE E FORMULE Test VERO o FALSO (se FALSO giustifica la risposta) 1) In excel il contenuto di una cella viene visualizzato nella barra di stato 2) In excel il simbolo = viene utilizzato

Dettagli

! Programmazione strutturata. ! OO: TDA, scambio messaggi, eredità, polimorfismo, OO in Java. ! Rassegna API. ! Documentazione Javadoc delle API

! Programmazione strutturata. ! OO: TDA, scambio messaggi, eredità, polimorfismo, OO in Java. ! Rassegna API. ! Documentazione Javadoc delle API Riassunto Applet (e altro dell AWT ) Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 22 19 maggio

Dettagli

Progetto di Applicazioni Software

Progetto di Applicazioni Software Progetto di Applicazioni Software Creare una GUI con JFC/Swing Claudio Corona Le slide sono state prodotte dall Ing. de Leoni per il corso di Progettazione del Software II Package Window JFrame Component

Dettagli

Modulo 2 Test di verifica

Modulo 2 Test di verifica Modulo 2 Test di verifica Uso del computer e gestione dei file Test n. 1 Quando si riduce ad icona una finestra: è necessario prima salvare il suo contenuto si attiva un collegamento sul desktop rimane

Dettagli

Introduzione alla programmazione Object Oriented. Luca Lista

Introduzione alla programmazione Object Oriented. Luca Lista Introduzione alla programmazione Object Oriented Luca Lista Concetti base del software OO Classi e oggetti Incapsulamento Relazione di ereditarietà Polimorfismo Cos è un Oggetto? Definizione da vocabolario:

Dettagli

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI

EXCEL. Alfabetizzazione Informatica Prof. GIUSEPPE PATTI EXCEL Alfabetizzazione Informatica Prof. GIUSEPPE PATTI Operazioni base Excel è un programma che trasforma il vostro computer in un foglio a quadretti, così come Word lo trasformava in un foglio a righe.

Dettagli

Excel. I fogli di calcolo Le funzioni base Gli strumenti. 1

Excel. I fogli di calcolo Le funzioni base Gli strumenti.  1 Excel I fogli di calcolo Le funzioni base Gli strumenti www.vincenzocalabro.it 1 I fogli di calcolo Utilizzando questo programma possiamo costruire fogli di calcolo più o meno complessi che ci consento

Dettagli

Grafici e Pagina web

Grafici e Pagina web Grafici e Pagina web Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro. Quando si crea un grafico ogni riga

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Thread versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Creazione di un download manager in Java

Creazione di un download manager in Java 34 Creazione di un download manager in Java Se ci si è collegati a Internet con una connessione telefonica, probabilmente si è sperimentata l interruzione di un download, con la necessità di ricominciare

Dettagli

RETI DI CALCOLATORI Linguaggio Java: La Grafica

RETI DI CALCOLATORI Linguaggio Java: La Grafica Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: La Grafica Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB.

Università degli Studi di Modena e Reggio Emilia. Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB. Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI TECNOLOGIE E APPLICAZIONI WEB Java Applet Ing. Marco Mamei Anno Accademico 2004-2005 M. Mamei - Tecnologie

Dettagli

Scorciatoie. Mike McBride Jost Schenck Traduzione del documento: Samuele Kaplun Traduzione e revisione del documento: Luigi Toscano

Scorciatoie. Mike McBride Jost Schenck Traduzione del documento: Samuele Kaplun Traduzione e revisione del documento: Luigi Toscano Mike McBride Jost Schenck Traduzione del documento: Samuele Kaplun Traduzione e revisione del documento: Luigi Toscano 2 Indice 1 Scorciatoie 4 1.1 Introduzione.........................................

Dettagli

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo.

public double getlato() restituisce la lunghezza del lato del quadrato che esegue il metodo. Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 21 settembre 2015 TEMPO DISPONIBILE: 1 ora e 40

Dettagli

appunti delle lezioni Architetture client/server: applicazioni server

appunti delle lezioni Architetture client/server: applicazioni server Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture /: applicazioni 1 La logica dei Abbiamo visto che un applicazione si connette e comunica con un applicazione mediante

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java Eccezioni Eccezioni in breve Un eccezione è un oggetto che descrive una situazione anomala o di errore L eccezioni vengono lanciate da una parte di un programma e possono

Dettagli

Il codice generato automaticamente da NetBeans

Il codice generato automaticamente da NetBeans 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

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

Dettagli

Introduzione alla programmazione. Walter Didimo

Introduzione alla programmazione. Walter Didimo Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata

Dettagli

4 GLI ARRAY E LE STRINGHE

4 GLI ARRAY E LE STRINGHE 13 4 GLI ARRAY E LE STRINGHE 4.1 Gli array monodimensionali Un array è un insieme di variabili dello stesso tipo, cui si fa riferimento mediante uno stesso nome. L accesso ad un determinato elemento si

Dettagli

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; EXCEL Modulo 3 I Grafici Grafici Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro; Quando si crea un grafico ogni

Dettagli

Formattare il testo con gli stili

Formattare il testo con gli stili Formattare il testo con gli stili Capita spesso di dover applicare ripetutamente la stessa formattazione, o anche modificare il colore, le dimensioni e il tipo di carattere, per dare risalto a un testo.

Dettagli

Manuale d utilizzo. Indice:

Manuale d utilizzo. Indice: Manuale d utilizzo Indice: - L interfaccia (area di gestione) pag. 2 - Menu lingua pag. 3 - La gestione delle cartelle pag. 4 - Menu novità pag. 7 - I contatti pag. 8 - Gestione delle aree destra e sinistra

Dettagli

E possibile vedere tutti i dispositivi collegati al computer accedendo al pannello di controllo=>sistema=>dispositivi hardware.

E possibile vedere tutti i dispositivi collegati al computer accedendo al pannello di controllo=>sistema=>dispositivi hardware. Funzionalità del sistema operativo Le periferiche e i driver Cosa è un driver? E un programma che ha la funzione di guidare all uso di una periferica il sistema operativo. Ossia contiene le istruzioni

Dettagli