Esempi di programmazione
|
|
|
- Daniela Valsecchi
- 8 anni fa
- Visualizzazioni
Transcript
1 Esempi di programmazione Applet che disegna cerchi Costruire un'applet disegnoapplet che ad ogni pressione del mouse disegna un cerchio 1
2 disegnoapplet 1. Deve usare la classe Applet? NO 2. Deve estendere la classe Applet? SÌ 3. Deve importare java.applet.*? SÌ 4. Deve essere pubblica? SÌ 5. Deve avere il metodo main? NO 6. Deve avere il metodo init? S/N disegnoapplet import java.applet.*; public class disegnoapplet extends Applet { 2
3 Di cosa abbiamo bisogno 1. Panel? NO 2. Canvas? S/N 3. Button? NO 4. ActionListener? NO 5. MouseListener? SÌ 6. MouseMotionListener? NO /*<applet code="disegnoapplet.class" width="400" height="400"></applet>*/ import java.awt.*; import java.awt.event.*; import java.applet.*; public class disegnoapplet extends Applet { public void init() { this.addmouselistener(new aggiungicerchio()); class aggiungicerchio extends MouseAdapter { public void mouseclicked(mouseevent e) { 3
4 Come fare?? L'unico modo che conosciamo per disegnare un cerchio è usare il metodo drawoval della classe Graphics Per far disegnare sull'applet sovrascriviamo il metodo paint L'applet deve disegnare un cerchio in ogni punto in cui è stato cliccato Deve "tenere a mente" i punti in cui si clicca Ogni volta che si fa click occorre aggiungere un nuovo punto e richiamare paint public class disegnoapplet extends Applet { private final int MAX_ELEM = 10; //massimo numero di cerchi private final int R = 15; //raggio int[] x = new int[max_elem]; //coordinate dei cerchi da disegnare int[] y = new int[max_elem]; int n = 0; //numero cerchi da disegnare... public void paint(graphics abc) { for (int i = 0; i<n; i++) abc.drawoval(x[i]-this.r,y[i]-this.r,this.r*2,this.r*2); void add(int x, int y) { if (this.n < this.max_elem) { this.x[n] = x; this.y[n] = y; this.n++; class aggiungicerchio extends MouseAdapter { public void mouseclicked(mouseevent e) { disegnoapplet da = (disegnoapplet)e.getsource(); da.add(e.getx(),e.gety()); da.repaint(); 4
5 Ambiente esterno (appletviewer) mouse disegnoapplet X[,,, ] Y[,,, ] n paint aggiungicerchio mouseclicked add Ambiente esterno (utente) Memorizzare una coppia di interi Per memorizzare una coppia possiamo usare 2 variabili int Possiamo definire una classe (meglio!) class coppiaint { int x; int y; coppiaint(int x, int y) { this.x = x; this.y = y; 5
6 Memorizzare 2 coppie di interi Possiamo usare 4 variabili int Possiamo usare 2 vettori di 2 int int[] x = new int[2]; int[] y = new int[2]; x[0] = 2; y[0] = 3; System.out.println(x[0]); Possiamo usare 1 vettore di coppie di interi coppiaint coppiaint[] c = new coppiaint[2]; c[0] = new coppiaint(2,3); System.out.println(c[0].x); Per memorizzare "tante" coppie di interi? Possiamo usare "tante" variabili int? Non sappiamo quante. Possiamo usare 2 vettori di int? Non sappiamo quanto grandi. Possiamo usare un vettore di coppie di interi coppiaint? Non sappiamo quanto grande. Creiamo una nuova classe coppiaintperlista inizio coppiaint c coppiaint c coppiaint c successivo successivo successivo null 6
7 coppiaintperlista class coppiaintperlista { coppiaint c; coppiaintperlista succ; coppiaintperlista(coppiaint c) { this.c = c; this.succ = null; listacoppie class listacoppie { coppiaintperlista inizio; listacoppie(coppiaintperlista prima) { this.inizio = prima; public void aggiungi(coppiaintperlista c) { c.succ = this.inizio; this.inizio = c; public coppiaintperlista primacoppia() { return inizio; public void togli() {this.inizio = this.inizio.succ; 7
8 Memorizzare 4 coppie di interi coppiaint c = new coppiaint(2,3); coppiaintperlista cpl = new coppiaintperlista(c); listacoppie lc = new listacoppie(cpl); lc.aggiungi(new coppiaintperlista(new coppiaint(1,2))); lc.aggiungi(new coppiaintperlista(new coppiaint(1,7))); lc.aggiungi(new coppiaintperlista(new coppiaint(9,5))); System.out.println(lc.primaCoppia().c.x); //stampa 9 System.out.println(lc.primaCoppia().succ.c.y); //stampa 7 Memorizzare 100 coppie di interi? Sempre allo stesso modo con listacoppie In realtà la struttura dati assomiglia, come funzionamento, più ad una Attenzione! Il metodo togli può dare errore. Quando? 8
Eventi e listener per i componenti grafici
Eventi e listener per i componenti grafici Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2005-06 CdL Operatore Informatico Giuridico. Eventi e listener Eventi e listener (ascoltatori) sono
! 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/ [email protected] Programmazione, lezione 22 19 maggio
Gestione dell interattività: gli eventi
Gestione dell interattività: gli eventi Gli eventi sono una modalità di comunicazione tra l utente (sistema) e il programma in esecuzione. Tipi di eventi: Input da parte dell utente: pressione del(i) bottone(i)
Programmazione in Java e gestione della grafica. Lezione 21
Programmazione in Java e gestione della grafica Lezione 21 2 Parliamo ( ancora ) di Eventi della GUI (Eventi del mouse e della tastiera) 3 Gestione degli eventi del mouse Eventi del Mouse Creo un oggetto
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 [email protected] Java Applet 1 Application VS Applet Una
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.
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
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.
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
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.
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.
La nostra finestra dovrebbe essere come mostra la figura: Diamo innanzitutto un occhiata alle componenti principali di input/output:
Esercitazione N4: Costruzione di una applicazione GUI utilizzando i componenti di base per realizzare l input e l output e cioè Label, TextBox, TextArea Button e Panel (Pannelli) I componenti che utilizzeromo
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
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
A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
Programmazione Java (Applicazioni e Applet )
Programmazione Java (Applicazioni e Applet ) Prof. Flavio Cerini Dopo aver installato il JDK 1.4.1_01 e inserito il percorso della cartella \bin nel PATH si possono provare i seguenti programmi funzionanti.
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 (?)
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).
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
Programmazione orientata agli oggetti Classi astratte e interfacce
Programmazione orientata agli oggetti Classi astratte e interfacce Fondamenti di Informatica L-B 1 Classi astratte Java ci consente di definire classi in cui uno o più metodi non sono implementati, ma
18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
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
Programmazione ad Oggetti. JFrame è la classe di base per le finestre Fornisce tutte le caratteristiche di una finestra vuota
Programmazione ad Oggetti Interfacce grafiche V 1.2 Marco Torchiano 2005 JFrame JFrame è la classe di base per le finestre Fornisce tutte le caratteristiche di una finestra vuota Barra del titolo Pulsanti
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
Appendice B - Othello come applet
Appendice B - Othello come applet Il gioco dell'othello, detto anche Reversi, consiste in una scacchiera di 64 caselle, 8 x 8, su cui all'inizio si trovano quattro pedine, due nere e due bianche, vedi
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
COGNOME.NOME. Matricola
Esame di PROGRAMMAZIONE ORIENTATA AGLI OGGETTI Appello del 4.9.2013 COGNOME.NOME. Matricola Tre classi, denominate Anemone, Fiordaliso e Viola devono assicurare la visualizzazione di un fiore stilizzato
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM
Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato
Esempio: Interfacce. Gioco Interfacce
Esempio: Interfacce 1 Descrizione Si supponga di avere delle carte da gioco. Ogni carta rappresenta un Personaggio che può essere di tipo o Umano o Mostro. Un Personaggio di tipo Umano ha una forza fisica
Esempio su strutture dati dinamiche: ArrayList
Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione
Esempio: Interfacce. Gioco Interfacce
Esempio: Interfacce 1 Descrizione Si supponga di avere delle carte da gioco. Ogni carta rappresenta un Personaggio che può essere di tipo o Umano o Mostro. Un Personaggio di tipo Umano ha una forza fisica
Android. Custom View.
Android Custom View [email protected] Creazione di una Custom View (1) La classe View è la classe madre di tutti i componenti visuali di Android. Ogni sottoclasse implementa il metodo ondraw(canvas)
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
Programmazione Orientata agli Oggetti. Esercitazione: Interfacce, polimorfismo
Programmazione Orientata agli Oggetti Esercitazione: Interfacce, polimorfismo Esercizio 1: formegeometriche (TRATTO DALL'ESAME DEL GIUGNO 2003) Una software house sta sviluppando una libreria per la gestione
Esempio 2: Subtyping
Esempio 2: Subtyping 22 Subclassing e subtyping Fino ad ora abbiamo trattato l ereditarietà come strumento che consente il riuso flessibile di classi già esistenti mediante l aggiunta o la ridefinizione
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
Esercitazione n 3. Obiettivi
Esercitazione n 3 Obiettivi Capacità di analisi e di estensione di progetti esistenti Linguaggio Java: Ereditarietà delle classi Utilizzo di costruttori e metodi di superclasse Visibilità: public, private,
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
Programmazione orientata agli oggetti. Ivan Lanese
Programmazione orientata agli oggetti Ivan Lanese Argomenti Programmazione orientata agli oggetti Classi Oggetti Costruttori Scrivere grosse applicazioni La gran parte delle applicazioni sono GROSSE Windows
public BorsaStudio(String nome, String ente, int d, double r) { this.nome = nome; this.ente = ente; this.durata = d; this.
Esame scritto del 22/09/2006: soluzioni di alcuni esercizi 1. Esercizio 4. Una borsa di studio può essere caratterizzata tramite il nome del beneficiario, l ente che eroga la borsa, la durata (espressa
Con il pulsante Start si introducono palline che rimbalzano in un area di disegno fino a che non è terminato il loro ciclo di vita (1000 movimenti).
Rimbalzi. import java.awt.*; import java.awt.event.*; import java.applet.applet; public class Bounce extends Applet implements ActionListener { private Canvas canvas; private Button b1; private Button
Campo Minato. in java
Campo Minato in java Il gioco campo rettangolare o quadrato suddiviso in tanti quadratini Il giocatore deve sminare il campo, cliccando sui quadratini, col tasto destro o col tasto sinistro il gioco cliccando
Esercitazione n 6. Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java:
Esercitazione n 6 Capacità di analisi e di estensione di progetti Componenti grafici e gestione di eventi Linguaggio Java: il package javax.swing (JFrame, JPanel, JButton, ) java.util.eventobject e sue
GUI e java swing. Elmenti della GUI. Eventi e listener contenitori componenti layout manager. caratteristiche speciali
GUI e java swing Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2005-06 CdL Operatore Informatico Giuridico. Elmenti della GUI Eventi e listener contenitori componenti layout manager caratteristiche
maggio 2004 Stefano Sanna - [email protected]
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
Definizione di classi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti
PROGRAMMAZIONE 2 5. Dynamic dispatch
PROGRAMMAZIONE 2 5. Dynamic dispatch PR2 2017-2018 1 Cosa significa? La dichiarazione di una variabile non determina in maniera univoca il >po dell oggeao che la variabile riferisce Cerchiamo di capire
Riassunto. GUI in Java con l AWT 1. Cos è una GUI. Oggi: GUI in Java, l AWT. GUI in Java. Un esempio. Stefano Mizzaro 1
Riassunto GUI in Java con l AWT 1 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro [email protected] Programmazione, lezione 23 15 febbraio
