Gestione di eventi. Anno Accademico 2003/04. Docente modulo 2: Barbara Masucci
|
|
- Mariana Martelli
- 4 anni fa
- Visualizzazioni
Transcript
1 Gestione di eventi Anno Accademico 2003/04 Docente modulo 2: 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 elemento da un menu viene generato un evento
2 Gestione degli eventi Per gestire gli eventi bisogna distinguere tra Sorgente dell evento (source) la componente dell interfaccia utente che ha generato l evento Pulsanti, voci di menu, barre di scorrimento, etc. Ricevitore dell evento (listener) la classe che intercetta l evento e definisce le azioni intraprese a seguito del verificarsi di particolari eventi Package java.awt.event Ogni evento è descritto da una appropriata classe Il package java.awt.event contiene Le classi per i diversi tipi di eventi Le interfacce relative ai ricevitori di eventi, i Listener Le classi degli adattatori, gli Adapter, che implementano le interfacce Listener
3 Tipi di evento MouseEvent: eventi del mouse ActionEvent: eventi di azione AdjustmentEvent: eventi di modifica FocusEvent: eventi di selezione ItemEvent: eventi di elemento KeyEvent: eventi di tastiera WindowEvent: eventi di finestra etc Interfacce Listener Sono i ricevitori di eventi Esiste una interfaccia Listener per ciascun tipo di evento Definiscono i metodi che devono essere implementati da ogni oggetto che desidera essere informato dell accadere di un particolare tipo di evento
4 Interfacce Listener MouseListener: eventi del mouse ActionListener: eventi di azione AdjustmentListener: eventi di modifica FocusListener: eventi di selezione ItemListener: eventi di elemento KeyListener: eventi di tastiera WindowListener: eventi di finestra etc MouseEvent Si verificano in seguito ad azioni che riguardano il mouse Tali azioni possono essere eseguite dall utente in un punto qualsiasi dell interfaccia grafica Una classe deve implementare l interfaccia MouseListener per essere in grado di avvertire e gestire eventi di questo tipo
5 MouseEvent: metodi addmouselistener() associa l ascoltatore di eventi a ciascun componente in grado di generare eventi di questo tipo getx() e gety() restituiscono le coordinate del punto in cui l evento relativo al mouse è accaduto MouseListener L interfaccia MouseListener ha cinque metodi: mousepressed(mouseevent event) mousereleased(mouseevent event) mouseclicked(mouseevent event) mouseentered(mouseevent event) mouseexited(mouseevent event)
6 MouseListener public interface MouseListener void mousepressed(mouseevent event); void mousereleased(mouseevent event); void mouseclicked(mouseevent event); void mouseentered(mouseevent event); void mouseexited(mouseevent event); Spiare gli eventi del mouse Scriviamo un programma che spia gli eventi del mouse e li stampa man mano che si verificano Scriviamo una classe MouseSpy (ricevitore) che implementa MouseListener Scriviamo un applet MouseSpyApplet (sorgente degli eventi) ed installiamo il ricevitore
7 File MouseSpy.java import java.awt.event.mouseevent; import java.awt.event.mouselistener; class MouseSpy implements MouseListener public void mousepressed(mouseevent event) System.out.println ("Mouse pressed. x=" + event.getx() + " y=" + event.gety()); public void mousereleased(mouseevent event) System.out.println ("Mouse released. x=" + event.getx() + " y=" + event.gety()); public void mouseclicked(mouseevent event) System.out.println ("Mouse clicked. x=" + event.getx() + " y=" + event.gety()); public void mouseentered(mouseevent event) System.out.println ("Mouse entered. x=" + event.getx() + " y=" + event.gety());
8 public void mouseexited(mouseevent event) System.out.println ("Mouse exited. x=" + event.getx() + " y=" + event.gety()); File MouseSpyApplet.java import java.applet.applet; public class MouseSpyApplet extends Applet public MouseSpyApplet() MouseSpy listener = new MouseSpy(); addmouselistener(listener);
9 Spiare gli eventi del mouse Elaborare gli eventi del mouse Scriviamo un programma che disegna un rettangolo sullo schermo in seguito alla pressione di un tasto del mouse, sposta l angolo superiore sinistro nella posizione del puntatore del mouse
10 File MouseApplet.java import java.applet.applet; import java.awt.graphics; import java.awt.graphics2d; import java.awt.rectangle; import java.awt.event.mouselistener; import java.awt.event.mouseevent; public class MouseApplet extends Applet public MouseApplet() // il rettangolo disegnato dal metodo paint box = new Rectangle(BOX_X, BOX_Y, BOX_WIDTH, BOX_HEIGHT); class MousePressListener implements MouseListener public void mousepressed(mouseevent event) int x = event.getx(); int y = event.gety(); box.setlocation(x, y); repaint(); public void mousereleased(mouseevent event) public void mouseclicked(mouseevent event) public void mouseentered(mouseevent event) public void mouseexited(mouseevent event) MouseListener listener = new MousePressListener(); addmouselistener(listener);
11 public void paint(graphics g) Graphics2D g2 = (Graphics2D)g; g2.draw(box); private Rectangle box; private static final int BOX_X = 100; private static final int BOX_Y = 100; private static final int BOX_WIDTH = 20; private static final int BOX_HEIGHT = 30; MouseApplet Il ricevitore listener è definito come classe interna della classe MouseApplet mousepressed può accedere alla variabile istanza box definita nel costruttore In seguito ad una pressione del mouse viene chiamato il metodo setlocation(x,y) sul rettangolo box L oggetto che memorizza il rettangolo viene aggiornato Per visualizzare la nuova posizione dobbiamo ridisegnare lo schermo con repaint()
12 Esecuzione di MouseApplet Adattatori di eventi Nella classe MousePressListener eravamo interessati solo alla pressione dei tasti del mouse ma abbiamo dovuto riscrivere tutti I metodi di MouseListener! Possiamo usare la classe MouseAdapter, che implementa tutti i metodi di MouseListener come metodi vuoti sovrascriviamo solo i metodi che ci interessano!
13 Adattatori di eventi class MousePressListener extends MouseAdapter public void mousepressed(mouseevent event) int x = event.getx(); int y = event.gety(); box.setlocation(x,y); repaint(); ActionEvent Si verificano quando l utente compie un azione utilizzando uno dei componenti dell interfaccia utente Una classe deve implementare l interfaccia ActionListener per essere in grado di avvertire e gestire eventi di questo tipo
14 ActionEvent: metodi addactionlistener() associa l ascoltatore di eventi a ciascun componente in grado di generare eventi di questo tipo getsource() determina il componente che ha provocato l evento ActionListener L interfaccia ActionListener ha un solo metodo: actionperformed(actionevent event) public interface ActionListener void actionperformed(actionevent event); Non ha senso avere un adattatore di eventi per ActionListener
15 Interfaccia utente In Java esistono due modi per gestirla: Swing (package javax.swing) Estensione delle prime versioni di Java, componente standard di Java 2 Esempi di classi: JTextField, JLabel, JButton, JRadioButton, JCheckbox, JFrame, JPanel, JScrollPane, Abstract Windowing Toolkit (package java.awt) Ormai obsoleto Esempi di classi: TextField, Label, Button, RadioButton, ChechBox, Frame, Panel, ScrollBar, Interfaccia utente Tre elementi fondamentali Componenti: elementi di base dell interfaccia Contenitori: elementi che contengono componenti Gestori del Layout: elementi che controllano la disposizione delle componenti all interno di un contenitore
16 Componenti Etichette Caselle di testo Aree di testo Barre di scorrimento Bottoni Bottoni radio Caselle di controllo Caselle combinate Etichette I più semplici elementi di un interfaccia utente Stringhe di testo impiegate per identificare la funzione di altre componenti aggiungere spiegazioni destinate all utente Per creare un etichetta si usa la classe JLabel JLabel xlabel = new JLabel ( x= );
17 Caselle di testo Aree in cui l utente può digitare del testo Bisogna specificare la dimensione della casella di testo Per creare una casella di testo si usa la classe JTextField JTextField xfield = new JTextField(5); Aree di testo Aree in cui l utente può digitare del testo su più righe Per creare un area di testo si usa la classe JTextArea JTextArea textarea = new JTextArea(10,30);
18 Aree di testo Alcuni metodi append aggiunge testo alla fine dell area di testo settext imposta il testo gettext legge il contenuto dell area seteditable(false) impedisce la modifica dell area setfont imposta il font Barre di scorrimento Possono essere aggiunte ad un area di testo Per creare una barra di scorrimento si usa la classe JScrollPane JTextArea textarea = new JTextArea(10,30); JScrollPane scrollpane = new JScrollPane(textArea);
19 Bottoni Pulsanti dell interfaccia che reagiscono al clic del mouse Per creare un bottone si usa la classe JButton JButton movebutton = new JButton( Move ); JButton movebutton = new JButton(new ImageIcon( hand.gif )); JButton movebutton = new JButton( Move,new ImageIcon( hand.gif )); Bottoni Quando un bottone viene premuto, invia un evento di azione Per riceverlo, è necessario installare un ricevitore di azioni (classe che implementa l interfaccia ActionListener) class MoveButtonListener implements ActionListener public void actionperformed(actionevent event) ActionListener listener = new MoveButtonListener(); movebutton.addactionlistener(listener);
20 Bottoni radio Consentono all utente di fare una sola scelta tra più opzioni Bottoni radio Per creare bottoni radio si usa la classe JRadioButton JRadioButton paperbutton = new JRadioButton( Paperino ); JRadioButton pippobutton = new JRadioButton( Pippo ); Poi si crea un oggetto di tipo ButtonGroup e si aggiungono i singoli pulsanti ButtonGroup fumettigroup = new ButtonGroup(); fumettigroup.add(paperbutton); fumettigroup.add(pippobutton);
21 Bottoni radio Alcuni metodi isselected() stabilisce se un pulsante è selezionato setselected(true) imposta la selezione per uno dei pulsanti del gruppo Bottoni radio Quando un bottone radio viene selezionato, invia un evento di azione Per riceverlo, è necessario installare un ricevitore di azioni (classe che implementa l interfaccia ActionListener) class RadioButtonListener implements ActionListener public void actionperformed(actionevent event) ActionListener listener = new RadioButtonListener(); paperbutton.addactionlistener(listener);
22 Caselle di controllo Consentono all utente di fare varie scelte che non si escludono a vicenda Caselle di controllo Per creare una casella di controllo si usa la classe JCheckbox JCheckBox papercheckbox = new JCheckBox( Paperino ); Non è necessario creare un gruppo di pulsanti, come per i bottoni radio
23 Caselle di controllo Quando una casella di controllo viene selezionata, invia un evento di azione Per riceverlo, è necessario installare un ricevitore di azioni (classe che implementa l interfaccia ActionListener) class CheckBoxListener implements ActionListener public void actionperformed(actionevent event) ActionListener listener = new CheckBoxListener(); papercheckbox.addactionlistener(listener); Caselle combinate Consentono all utente di fare una sola scelta tra più opzioni attraverso un elenco a discesa
24 Caselle combinate Per creare una casella combinata si usa la classe JComboBox JComboBox fumetticombo = new JComboBox(); Poi si aggiungono le voci con il metodo additem fumetticombo.additem( Paperino ); fumetticombo.additem( Pippo ); fumetticombo.additem( Pluto ); fumetticombo.additem( Topolino ); Caselle combinate Alcuni metodi seteditable() rende la casella modificabile getselecteditem() restituisce l elemento (di tipo Object) scelto dall utente setselecteditem() imposta la voce iniziale da visualizzare nella casella
25 Caselle combinate Quando una casella combinata viene selezionata, invia un evento di azione Per riceverlo, è necessario installare un ricevitore di azioni (classe che implementa l interfaccia ActionListener) class ComboBoxListener implements ActionListener public void actionperformed(actionevent event) ActionListener listener = new ComboBoxListener(); fumetticombo.addactionlistener(listener); Interfaccia utente Tre elementi fondamentali Componenti: elementi di base dell interfaccia Contenitori: elementi che contengono componenti Gestori del Layout: elementi che controllano la disposizione delle componenti all interno di un contenitore
26 Contenitori Negli applet visti finora l esecuzione avveniva all interno della finestra del browser Per creare una maggiore interazione con l utente è possibile creare diversi contenitori per i componenti dell interfaccia utente panelli finestre menu Pannelli Contenitori per i componenti dell interfaccia utente Per creare un pannello si usa la classe JPanel JPanel panel = new JPanel(); Dopo aver creato il pannello, si aggiungono i componenti mediante il metodo add Panel.add(xLabel); Panel.add(xField); Panel.add(yLabel); Panel.add(yField); Panel.add(moveButton);
27 Frame Un frame è una finestra indipendente dotata di barra del titolo pulsanti di ridimensionamento e chiusura Per creare un frame si usa la classe JFrame JFrame frame = new JFrame(); Frame
28 Frame Il metodo pack() assegna le dimensioni al frame in modo che possa contenere tutti i suoi componenti frame.pack(); Il metodo show() mostra la finestra sullo schermo (inizialmente è invisibile) frame.show(); Barra dei menu Una barra dei menu è costituita da un gruppo di menu lungo il margine superiore di una finestra
29 Barra dei menu Per creare una barra dei menu si usa la classe JMenuBar JMenuBar menubar = new JMenuBar(); La barra dei menu deve essere associata a un oggetto di tipo Frame con il metodo setjmenubar() setjmenubar(menubar); Menu Per creare un menu si usa la classe Menu JMenu filemenu = new JMenu( File ); I menu vengono aggiunti alla barra dei menu mediante il metodo add() menubar.add(filemenu);
30 Menu All interno dei menu si aggiungono le voci di menu Per creare una voce di menu si usa la classe JMenuItem JMenuItem filenewmenuitem = new JMenuItem( New ); filemenu.add(filenewmenuitem); Menu Quando una voce di menu viene selezionata, invia un evento di azione Per riceverlo, è necessario installare un ricevitore di azioni (classe che implementa l interfaccia ActionListener) class MenuItemListener implements ActionListener public void actionperformed(actionevent event) ActionListener listener = new menuitemlistener(); filenewmenuitem.addactionlistener(listener);
31 Interfaccia utente Tre elementi fondamentali Componenti: elementi di base dell interfaccia Contenitori: elementi che contengono componenti Gestori del Layout: elementi che controllano la disposizione delle componenti all interno di un contenitore Gestori di layout Determinano la disposizione (layout) delle componenti all interno di un contenitore Alcuni gestori comunemente usati: FlowLayout (a scorrimento) Borderlayout (a bordi) GridLayout (a griglia) GridBagLayout
32 Gestori di layout Bisogna innanzitutto creare un contenitore Poi si utilizza il metodo setlayout() per definire un gestore di layout In seguito si aggiungono i componenti al contenitore con il metodo add() FlowLayout Gestore di default Posiziona le componenti da sinistra verso destra finchè c è spazio e poi procede alla riga successiva
33 FlowLayout BorderLayout Suddivide un contenitore in cinque settori Alto (NORTH) Basso (SOUTH) Sinistra (WEST) Destra (EAST) Centro (CENTER) I settori relativi ai bordi occupano lo spazio di cui hanno bisogno, e tutto lo spazio restante viene usato dal settore centrale
34 BorderLayout BorderLayout Impostiamo il gestore in un pannello: panel.setlayout(new BorderLayout()); Aggiungiamo un componente al contenitore, specificandone la posizione: panel.add(label, BorderLayout.CENTER);
35 BorderLayout Possiamo usare il pannello dei contenuti predefinito di un frame, ottenuto dal metodo getcontentpane(): frame.getcontentpane().add(label, BorderLayout.CENTER); GridLayout Dispone i componenti in base ad una griglia con un certo numero di righe e colonne L aggiunta dei componenti avviene a partire dalla riga superiore, da sinistra a destra La dimensione delle componenti cambia in seguito a ridimensionamenti del contenitore
36 GridLayout GridLayout Impostiamo il gestore in un pannello: panel.setlayout(new GridLayout(4,3)); Aggiungiamo i componenti al contenitore: panel.add(button7); panel.add(button8); panel.add(button9); panel.add(button4);
37 GridBagLayout Consente la creazione di griglie avanzate le proporzioni tra righe e colonne all interno della griglia non sono necessariamente uguali i componenti possono essere disposti in modo arbitrario e occupare più celle Noi non lo utilizzeremo E adesso? Dopo aver descritto i componenti dell interfaccia utente, vogliamo gestire gli eventi di azione Una classe deve implementare l interfaccia ActionListener per essere in grado di avvertire e gestire eventi di questo tipo
38 Esempio Scriviamo un applet che consente all utente di muovere un rettangolo specificando le coordinate dell angolo superiore sinistro File ButtonApplet.java import java.applet.applet; import java.awt.graphics; import java.awt.graphics2d; import java.awt.rectangle; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.imageicon; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jtextfield; /** Questo applet consente all utente di muovere un rettangolo specificando le coordinate dell angolo superiore sinistro */
39 public class ButtonApplet extends Applet public ButtonApplet() // il rettangolo disegnato dal metodo paint box = new Rectangle(BOX_X, BOX_Y, BOX_WIDTH, BOX_HEIGHT); // i campi di testo per inserire le coordinate final JTextField xfield = new JTextField(5); final JTextField yfield = new JTextField(5);; // il bottone per muovere il rettangolo JButton movebutton = new JButton("Move", new ImageIcon("hand.gif")); class MoveButtonListener implements ActionListener public void actionperformed(actionevent event) int x = Integer.parseInt(xField.getText()); int y = Integer.parseInt(yField.getText()); box.setlocation(x, y); repaint(); ActionListener listener = new MoveButtonListener(); movebutton.addactionlistener(listener);
40 // le etichette per i campi di testo JLabel xlabel = new JLabel("x = "); JLabel ylabel = new JLabel("y = "); // il pannello che contiene i componenti JPanel panel = new JPanel(); panel.add(xlabel); panel.add(xfield); panel.add(ylabel); panel.add(yfield); panel.add(movebutton); // il frame che contiene il pannello JFrame frame = new JFrame(); frame.setcontentpane(panel); frame.pack(); frame.show(); public void paint(graphics g) Graphics2D g2 = (Graphics2D)g; g2.draw(box); private Rectangle box; private static final int BOX_X = 100; private static final int BOX_Y = 100; private static final int BOX_WIDTH = 20; private static final int BOX_HEIGHT = 30;
41 Più pulsanti con comportamento simile JButton leftbutton = new JButton( Left ); class LeftButtonListener implements ActionListener public void actionperformed(actionevent event) box.translate(-box_width, 0); repaint(); LeftButtonListener leftlistener = new LeftButtonListener(); leftbutton.addactionlistener(leftlistener); Più pulsanti con comportamento simile JButton rightbutton = new JButton( Right ); class RightButtonListener implements ActionListener public void actionperformed(actionevent event) box.translate(box_width, 0); repaint(); RightButtonListener rightlistener = new RightButtonListener(); rightbutton.addactionlistener(rightlistener);
42 Più pulsanti con comportamento simile Evitiamo di scrivere codice ripetitivo per pulsanti con lo stesso comportamento! Rimedio: isoliamo il codice comune e scriviamo un nuovo metodo makebutton Ad ogni invocazione del metodo viene creato un bottone e un oggetto ricevitore di tipo ButtonListener Più pulsanti con comportamento simile public JButton makebutton(string label, final int dx, final int dy) JButton button = new JButton(label); class ButtonListener implements ActionListener public void actionperformed(actionevent event) box.translate(dx, dy); repaint(); ButtonListener listener = new ButtonListener(); button.addactionlistener(listener); return button;
43 Più pulsanti con comportamento simile Invochiamo il metodo quattro volte: panel.add(makebutton("left",-box_width,0)); panel.add(makebutton("right",box_width,0)); panel.add(makebutton("up",0,-box_height)); panel.add(makebutton("down",0,box_height)); File ButtonApplet.java import java.applet.applet; import java.awt.graphics; import java.awt.graphics2d; import java.awt.rectangle; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton; import javax.swing.jframe; import javax.swing.jpanel; /** Questo applet permette all utente di spostare un rettangolo premendo quattro pulsanti con etichette "Left", "Right", "Up", and "Down". */
44 public class ButtonApplet extends Applet public ButtonApplet() // il rettangolo disegnato dal metodo paint box = new Rectangle(BOX_X, BOX_Y, BOX_WIDTH, BOX_HEIGHT); // il pannello che contiene i componenti JPanel panel = new JPanel(); panel.add(makebutton("left", -BOX_WIDTH, 0)); panel.add(makebutton("right", BOX_WIDTH, 0)); panel.add(makebutton("up", 0, -BOX_HEIGHT)); panel.add(makebutton("down", 0, BOX_HEIGHT)); // il frame che contiene il pannello JFrame frame = new JFrame(); frame.setcontentpane(panel); frame.pack(); frame.show(); public void paint(graphics g) Graphics2D g2 = (Graphics2D)g; g2.draw(box); /** Costruisce un pulsante che muove il label l etichetta del dx l entità dello spostamento in direzione x quando si preme il dy l entità dello spostamento in direzione y quando si preme il il pulsante */
45 public JButton makebutton(string label, final int dx, final int dy) JButton button = new JButton(label); class ButtonListener implements ActionListener public void actionperformed(actionevent event) box.translate(dx, dy); repaint(); ButtonListener listener = new ButtonListener(); button.addactionlistener(listener); return button; private Rectangle box; private static final int BOX_X = 100; private static final int BOX_Y = 100; private static final int BOX_WIDTH = 20; private static final int BOX_HEIGHT = 30;
46 Esempio Scriviamo un applet che consente all utente di scegliere un solo colore tra rosa, blu, verde, nero e scrive Ciao nel colore prescelto File RadioButtonApplet.java import java.applet.applet; import java.awt.graphics; import java.awt.color; import java.awt.font; import java.awt.graphics2d; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jframe; import javax.swing.jpanel; import javax.swing.buttongroup; import javax.swing.jradiobutton;
47 public class RadioButtonApplet extends Applet public RadioButtonApplet() //i bottoni radio per i colori final JRadioButton pinkbutton = new JRadioButton("Pink"); final JRadioButton blackbutton = new JRadioButton("Black"); final JRadioButton bluebutton = new JRadioButton("Blue"); final JRadioButton greenbutton = new JRadioButton("Green"); blackbutton.setselected(true); ButtonGroup group = new ButtonGroup(); group.add(pinkbutton); group.add(bluebutton); group.add(greenbutton); group.add(blackbutton); //il pannello che contiene i bottoni JPanel panel = new JPanel(); panel.add(pinkbutton); panel.add(bluebutton); panel.add(greenbutton); panel.add(blackbutton); // il frame che contiene il pannello JFrame frame = new JFrame(); frame.setcontentpane(panel); frame.pack(); frame.show();
48 class RadioButtonListener implements ActionListener public void actionperformed(actionevent event) if (greenbutton.isselected()) color = Color.green; else if (pinkbutton.isselected()) color = Color.pink; else if (bluebutton.isselected()) color = Color.blue; else color=color.black; repaint(); ActionListener listener = new RadioButtonListener(); greenbutton.addactionlistener(listener); pinkbutton.addactionlistener(listener); bluebutton.addactionlistener(listener); blackbutton.addactionlistener(listener); public void paint(graphics g) Graphics2D g2 = (Graphics2D)g; Font huge = new Font("Helvetica", Font.BOLD, 36); g2.setfont(huge); g2.setcolor(color); g2.drawstring("ciao", 50, 100); private Color color;
49 Esempio Scriviamo un applet che consente all utente di scegliere uno stile tra italic e bold e scrive Ciao nello stile prescelto File CheckBoxApplet.java import java.applet.applet; import java.awt.graphics; import java.awt.color; import java.awt.font; import java.awt.graphics2d; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jframe; import javax.swing.jlabel; import javax.swing.jpanel; import javax.swing.jcheckbox;
50 public class CheckBoxApplet extends Applet public CheckBoxApplet() style = Font.PLAIN; //le caselle di controllo per gli stili final JCheckBox boldbox = new JCheckBox("Bold"); final JCheckBox italicbox = new JCheckBox("Italic"); //il pannello che contiene le caselle di controllo JPanel panel = new JPanel(); panel.add(boldbox); panel.add(italicbox); //il frame che contiene il pannello JFrame frame = new JFrame(); frame.setcontentpane(panel); frame.pack(); frame.show(); class CheckBoxListener implements ActionListener public void actionperformed(actionevent event) if (boldbox.isselected()) style = style + Font.BOLD; if (italicbox.isselected()) style = style + Font.ITALIC; repaint(); ActionListener listener = new CheckBoxListener(); boldbox.addactionlistener(listener); italicbox.addactionlistener(listener);
51 public void paint(graphics g) Graphics2D g2 = (Graphics2D)g; Font huge = new Font("Helvetica", style, 36); g2.setfont(huge); g2.drawstring("ciao", 50, 100); private int style; Esempio Scriviamo un applet che consente all utente di scegliere il nome di un font da un elenco a discesa e scrive Ciao con il font prescelto
52 File ComboBoxApplet.java import java.applet.applet; import java.awt.graphics; import java.awt.color; import java.awt.font; import java.awt.graphics2d; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jcombobox; import javax.swing.jframe; import javax.swing.jpanel; public class ComboBoxApplet extends Applet public ComboBoxApplet() chosen= Serif ; // le caselle combinate final JComboBox namefont = new JComboBox(); namefont.additem("serif"); namefont.additem("sansserif"); namefont.additem("monospaced"); //il pannello JPanel panel = new JPanel(); panel.add(namefont); // il frame JFrame frame = new JFrame(); frame.setcontentpane(panel); frame.pack(); frame.show();
53 class ComboBoxListener implements ActionListener public void actionperformed(actionevent event) chosen = (String)namefont.getSelectedItem(); repaint(); ActionListener listener = new ComboBoxListener(); namefont.addactionlistener(listener); public void paint(graphics g) Graphics2D g2 = (Graphics2D)g; Font huge = new Font(chosen, Font.BOLD, 36); g2.setfont(huge); g2.drawstring("ciao", 50, 100); private String chosen;
54 Esercizi da svolgere P9.3 P
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
DettagliGestione degli eventi
Gestione degli eventi Input di un programma Da console gestito rigidamente da programma Sequenza di input definita dal programma Con interfaccia grafica Utente ha più libertà Sequenza di input in qualsiasi
DettagliEventi 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
DettagliApplicazioni grafiche
Applicazioni grafiche Finestre Frame I programmi grafici scritti finora erano applet Possiamo anche scrivere applicazioni grafiche Costituite da varie finestre frame Creiamo il frame all interno del metodo
DettagliAppendice B:Interfacce Grafiche
Appendice B:Interfacce Grafiche Per usare tali funzioni bisogna importare le librerie: import javax.swing.*; import java.awt.*; B.1 JFrame Creazione ci un interfaccia. JFrame = new JFrame( Prima finestra
DettagliEsercizi. Esercizio P9.16. File ExP9_16.java. Anno Accademico 2003/04. Docente modulo 2: Barbara Masucci
Esercizio P9.16 Esercizi Scrivere un applicazione grafica che funga da interfaccia per la classe BankAccount. Fornite campi di testo e pulsanti per versare e prelevare denaro e per visualizzare il saldo
DettagliProgrammazione ad Eventi
Programmazione ad Eventi Eventi, Sorgenti, e Listeners Una interfaccia utente deve gestire una moltitudine di eventi eventi da tastiera, del mouse, click su pulsanti, Opportuno poter discriminare diversi
DettagliLezione n.12 LPR Informatica Applicata GUI programming
Università degli Studi di Pisa Lezione n.12 LPR Informatica Applicata GUI programming 19/05/2008 Laura Ricci UNA SEMPLICE INTERFACCIA PER INSTANT MESSAGING JAVA GUI: COMPONENTI BASE import java.awt.*;
DettagliProgrammazione ad Eventi
Programmazione ad Eventi Eventi, Sorgenti, e Listeners Una interfaccia utente deve gestire una moltitudine di eventi eventi da tastiera, del mouse, click su pulsanti, Opportuno poter discriminare diversi
DettagliJava SE 6. Programmazione grafica (3)
Java SE 6 Programmazione grafica (3) diegozabot@yahoo.it ursula.castaldo@gmail.com Event Listeners (1) Se vogliamo che una classe risponda a degli eventi utente, deve implementare l'interfaccia che si
DettagliControllo del layout. Per disporre in modo più strutturato utilizziamo pannelli con diverse politiche di disposizione (layout)
Controllo del layout Ovvero, controllo della disposizione dei componenti all interno di una finestra Abbiamo visto applicazioni con una disposizione di componenti elementare I pannelli che abbiamo utilizzato
DettagliLa 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
Dettagliinterfacce 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
DettagliL Abstract Windowing Toolkit. Le GUI in Java. Il Frame. Cenni sull ereditarietà. Gianpaolo Cugola - Sistemi Informativi in Rete
Le GUI in Java L Abstract Windowing Toolkit Fino ad ora abbiamo usato le classi del pacchetto JavaBook per realizzare semplici interfacce grafiche (GUI) Si tratta di classi facili da usare...... ma che
DettagliJava terzo contatto. Swing Java
Java terzo contatto Swing Java 1 Introduzione Componenti grafici di Java (Swing) Utilizzo di alcuni dei metodi per creare semplici finestre grafiche Accesso ai JavaDoc per usare meglio gli oggetti già
DettagliL 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)
DettagliINTERFACCE 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).
DettagliUnità B2 Gestione eventi 2
(A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: MouseListener MouseAdapter TextListener KeyListener KeyAdapter ItemListener getkeycode() getkeychar() (B) CONOSCENZA E COMPETENZA
DettagliA. Ferrari. AWT e Swing. Java. Alberto Ferrari Informatica
AWT e Swing Java Alberto Ferrari Informatica AWT o Abstract Window Toolkit (AWT) è la libreria Java contenente le classi e le interfacce fondamentali per la creazione di elementi grafici o è stata inserita
DettagliInterfacce. Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato
Interfacce 1 Interfacce Un interfaccia Java è una collezione di metodi astratti (e di costanti) Un metodo astratto è un metodo non implementato costituito dall intestazione senza il corpo della definizione
DettagliApplicazioni grafiche e finestre
Applicazioni grafiche e finestre / SampleFrame.java package sampleswingjavaapp; import java.awt.flowlayout; import java.awt.event.actionevent; import java.awt.event.actionlistener; import javax.swing.jbutton;
DettagliI Layout Manager di java. Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni
I Layout Manager di java Prof. Francesco Accarino IIS Altiero Spinelli via Leopardi 132 Sesto san Giovanni Creazione di interfacce complesse con i layout manager La posizione di un componente aggiunto
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA5 B2 Gestione eventi (2) 1 Prerequisiti Programmazione base in Java Utilizzo di classi e oggetti AWT o Swing Programmazione ad eventi 2 1 Introduzione Continuiamo la
DettagliGUI 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
DettagliLinguaggi di Programmazione II Matricole con le due ultime cifre dispari
Cognome e Nome: Numero di Matricola: Spazio riservato alla correzione 1 2 3 4 5 6 totale /5 /10 /10 /30 /25 /20 /100 Non usare altri fogli, usare solo lo spazio sottostante. Fogli differenti da questo
DettagliEventi 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
DettagliGrafica ed eventi. Più movimento alle classi
Grafica ed eventi Più movimento alle classi 1 ActionListener Listener: è una classe che implementa ActionListener e definisce actionperformed( ) Per aggiungere un ActionListener ad un oggetto c c.addactionlistener(listener);
DettagliGestione 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)
DettagliSviluppo 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.
DettagliAlessandro 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
DettagliRaffaella 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
DettagliJava GUI. Swing Java
Java GUI Swing Java 1 Introduzione n Componenti grafici di Java (Swing) Utilizzo di alcuni dei metodi per creare semplici finestre grafiche Accesso ai JavaDoc per usare meglio gli oggetti già pronti n
DettagliCapitolo 9 Interfacce e polimorfismo
Capitolo 9 Interfacce e polimorfismo Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Obiettivi del capitolo Conoscere le interfacce Saper effettuare conversioni tra riferimenti
DettagliJFrame. Chiusura della finestra. JFrame - Esempio. Tipologia di GUI. Linee guida. Programmazione ad Oggetti 6/12/09. finestre
JFrame JFrame è la classe di base per le finestre Programmazione ad Oggetti Interfacce grafiche Fornisce tutte le caratteristiche di una finestra vuota Barra del titolo Pulsanti standard Bordo ridimensionabile
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 3 Cosa faremo oggi 2 Interfaccia grafica e SWING Lettura e scrittura di Files di properties Internazionalizzazione
DettagliProgrammazione 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
DettagliInterazioni 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
DettagliAPPLICAZIONI & 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,
DettagliProgrammazione in rete e laboratorio
Programmazione in rete e laboratorio JAVA Alberto Martelli PROGRAMMAZIONE GRAFICA Molti programmi interagiscono con l utente attraverso una interfaccia grafica GUI - Graphical User Interface Java fornisce
DettagliSwing. 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
DettagliRiassunto. 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 mizzaro@dimi.uniud.it Programmazione, lezione 23 15 febbraio
DettagliParadigmi di programmazione (sperimentazioni)
Paradigmi di programmazione (sperimentazioni) 2000-01 JAVA Alberto Martelli Programmazione grafica PROGRAMMAZIONE GRAFICA Molti programmi interagiscono con l utente attraverso una interfaccia grafica GUI
DettagliProf. Pagani Corrado ESERCITAZIONI JAVA
Prof. Pagani Corrado ESERCITAZIONI JAVA PRIMA APPLICAZIONE CONSOLE Eseguire somma e media tra tre numeri ES 1 CODICE Non programmo sfruttando il paradigma ad oggetti (ho solo il metodo main che è static
DettagliInterfacce vs Inner Classes
Interfacce vs Inner Classes Classi interne nelle loro diverse forme locali Interne statiche Utilizzo congiunto con interfacce Gestione di eventi Implementazione di iteratori Classi locali Classi che hanno
DettagliPag. 1 di 5. private Color C0 = new Color(255, 0, 0);
Un manuale è formato da 250 pagine, In 210 di essi sono presenti 40 righe di testo, mentre nelle restanti solo 36. Determinare il numero complessivo di righe di testo del manuale. Risolvere il problema
DettagliGestione 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.
DettagliL 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
DettagliProgrammazione in rete e laboratorio
Programmazione in rete e laboratorio 2001-02 JAVA Alberto Martelli PROGRAMMAZIONE GRAFICA Molti programmi interagiscono con l utente attraverso una interfaccia grafica GUI - Graphical User Interface Java
DettagliApplication VS Applet
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it - lezione 20 - Java Applet 1 Application
DettagliGUI e AWT 12/05/2003. z GUI. z GUI in Java: l AWT. z Esempi. z Principi alla base. z Da fare e da non fare. Stefano Mizzaro - GUI e AWT 2/37
Scaletta *8,H$:7 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/~mizzaro mizzaro@dimi.uniud.it 12 maggio 2003 z GUI z GUI in Java: l AWT z Esempi
DettagliGrafica swing in Java
Grafica swing in Java JFrame Costruttori public JFrame() Crea un nuovo Frame inizialmente invisibile public JFrame(Stringtitle) Crea un nuovo frame, inizialmente invisibile, con un testo specificato. Metodi
DettagliInterfacce grafiche utente
Interfacce grafiche utente Ereditarietà per personalizzare i frame Usare l ereditarietà per scomporre fames complessi in unità facilmente comprensibili Progettare sottoclassi di JFrame Memorizzare le componenti
DettagliIntroduzione 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
DettagliRiassunto. GUI in Java con l AWT 1. Oggi: GUI in Java, l AWT. Oggi. GUI in Java. Cos è una GUI. 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/ mizzaro@uniud.it Programmazione, lezione 20 20 novembre
DettagliEsercitazione 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
DettagliGerarchie di Tipi. Gerarchie di tipi. Ogni classe può. I due meccanismi si possono combinare
Gerarchie di Tipi Metodologie di progetto basate su estensione e composizione di classi e interfacce progetto di interfacce grafiche Gerarchie di tipi Ogni classe può implementare più interfacce estendere
DettagliRiassunto. GUI in Java con l AWT 2
Riassunto GUI in Java con l AWT 2 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 23 GUI in
DettagliESERCITAZIONE 6. inserire articoli (e relativo prezzo), sia in lire che in euro. avere sempre sott'occhio il totale, sia in lire che in
ESERCITAZIONE 6 1 - Predisporre una maschera di input che consenta all'utente di : inserire articoli (e relativo prezzo), sia in lire che in euro avere sempre sott'occhio il totale, sia in lire che in
DettagliIn alcune applicazioni è necessario mostrare le informazioni in formato tabellare. Mario Bianchi Via Roma, /
JTable In alcune applicazioni è necessario mostrare le informazioni in formato tabellare Nome Cognome Indirizzo Telefono Mario Bianchi Via Roma, 12 059/1111111 Franco Rossi Via Milano, 33 059/2222222 119
DettagliProgrammazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Eventi versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
DettagliAutore: 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
DettagliLe 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
DettagliSwing e la programmazione a eventi. Prova Finale Ingegneria del Software Davide Mazza
Swing e la programmazione a eventi Prova Finale Ingegneria del Software Davide Mazza davide.mazza@polimi.it http://home.dei.polimi.it/mazza Lo stile basato su eventi I componenti interagiscono attraverso
DettagliCampo 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
Dettagli! GUI in Java: AWT. ! Concetti: ! Componenti. ! Eventi. ! Ascoltatori. ! (Layout) ! Documentazione. ! Libri, Fotocopie. !
Riassunto GUI in Java con l AWT 2 Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 21 18 maggio 2015!
DettagliGrafica in Java. introduzione
Grafica in Java introduzione Awt vs swing Contenitori Top level Swing: indipendenza dalla piattaforma muro grezzo da rivestire ad esempio con pannelli Frame Un frame (lett.: 'cornice') è, a livello visivo,
DettagliCorso 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
DettagliProgrammazione 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
DettagliProgettazione 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
DettagliJava 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
DettagliSAPIENZA Università di Roma A.A Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma A.A. 2011-2012 Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi
DettagliGUI e java swing. Templates per GUI degli IDE. Gli IDE forniscono Template per generare interfacce grafiche.
GUI e java swing Raffaella Brighi, a.a. 2006/07 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Templates per GUI degli IDE Gli IDE forniscono Template per generare interfacce
DettagliInterfacce 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.
DettagliClassi 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
DettagliSAPIENZA Università di Roma a.a Facoltà di Ingegneria dell Informazione, Informatica e Statistica
SAPIENZA Università di Roma a.a. 2010-2011 Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi
DettagliEvento sulla modifica delle caselle di testo
Evento sulla modifica delle caselle di testo La casella di testo, ma anche l area di testo, è per sua natura interessata a vari tipi di evento prodotti dalle azioni degli utenti. Il clic del mouse sulla
DettagliIntroduzione (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
DettagliI 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.
DettagliFigura 1 - Finestra Tabella
Capitolo IV Oggetti Creare una tabella Creare una tabella per inserire dei dati Per inserire una tabella premere il pulsante Tabella presente nella sezione Tabella della barra Inserisci. Viene visualizzata
DettagliProgrammazione 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
DettagliLa nostra interfaccia avrà l aspetto seguente:
Esercitazione N6: Utilizzo di GridLayout per la costruzione di una Calcolatrice. Gestione degli eventi mediante il metodo getsource di ActionEvent e utilizzo di Font. La nostra interfaccia avrà l aspetto
DettagliIntroduzione alla programmazione con linguaggio Java {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F.
Introduzione alla programmazione con linguaggio Java 2004 {Dott.ssa E. Calabresu, Dr. M. Carta, Ing. M. Ennas, Ing. S. Piras, Ing. F. Saba } Note di Copyright Queste trasparenze (slide) sono coperte dalle
DettagliJava 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.
DettagliL INTERFACCIA GRAFICA DI EXCEL
Dopo l avvio del foglio elettronico apparirà un interfaccia grafica nella quale verrà aperta una nuova cartella di lavoro alla quale il PC assegnerà automaticamente il nome provvisorio di Cartel1. La cartella
DettagliLe 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
DettagliBorderLayout. 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
DettagliEsempi di programmazione
Esempi di programmazione Applet che disegna cerchi Costruire un'applet disegnoapplet che ad ogni pressione del mouse disegna un cerchio 1 disegnoapplet 1. Deve usare la classe Applet? NO 2. Deve estendere
DettagliMarco 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:
DettagliApplet. Applet: il termine identifica piccole applicazioni da eseguirsi all interno di un browser.
Applet IngSW0304 p.1 Applet Applet: il termine identifica piccole applicazioni da eseguirsi all interno di un browser. Una pagina web può contenere un riferimento al codice di un applet che verrà scaricato
DettagliCorso sul linguaggio Java
Corso sul linguaggio Java Modulo L6 (JAVA9) 3 Parametri e browser 1 Prerequisiti Elementi di base HTML Programmazione Java Interfacce grafiche e gestione eventi 2 1 Introduzione In questa Unità vediamo
DettagliGRAFICA ED EVENTI SWING E AWT
GRAFICA ED EVENTI SWING E AWT Dott. Riccardo Zese riccardo.zese@unife.it argomenti SWING: architettura e gerarchia Componenti principali: JFrame, JPanel, Graphics Gestione degli eventi Ulteriori esempi
DettagliGRAFICA ED EVENTI SWING E AWT
GRAFICA ED EVENTI SWING E AWT Dott. Riccardo Zese riccardo.zese@unife.it argomenti SWING: architettura e gerarchia Componenti principali: JFrame, JPanel, Graphics Gestione degli eventi Ulteriori esempi
Dettagligrafica & applet il contesto grafico
grafica & applet il contesto grafico classe Graphics package java.awt istanzia oggetti che descrivono un contesto grafico contesto grafico = insieme di standard per la grafica colore corrente informazioni
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction...
DettagliEreditarietà (ultima)
Ereditarietà (ultima) Classi astratte Un ibrido tra classi e interfacce Hanno alcuni metodi implementati normalmente, altri astratti Un metodo astratto non ha implementazione abstract class AccountTransaction
DettagliJava SE 6. Programmazione grafica (2)
Java SE 6 Programmazione grafica (2) diegozabot@yahoo.it ursula.castaldo@gmail.com L'aspetto del componente va fissato PRIMA di aggiungerlo al contenitore. JComponent Tutti i componenti swing condividono
DettagliGraphical User Interfaces in Java
Graphical User Interfaces in Java Luca Grilli Informatica Grafica - Luca Grilli 1 Java2D e GUI L utilizzo delle Java2D API non può prescindere dalla conoscenza del supporto di Java alla programmazione
Dettagli