Elenet.net
+1 voto
Ecco la mia relazione di informatica:
quesito posto 5 Giugno 2014 in Classe terza da Adelfio Massimiliano Corsista (79 punti)
  

1 Risposta

0 voti
Le librerie AWT, componenti principali e gestione degli eventi
L'AWT, sigla di Abstract Window Toolkit, è un package introdotto nel 1996 che mette a disposizione la GUI (Graphical User Interface) all'utente programmatore per scrivere programmi utilizzando l'interfaccia grafica.
La libreria AWT si fonda su due elementi principali:
Componenti:I componenti sono elementi con il quale l'utente può interagire. Esempi di componenti sono i pulsanti, le etichette, le canvas e i textcomponent che si dividono in TextField e TextArea. 
Contenitori:I contenitori sono oggetti che contengono altri elementi. Esempi di contenitori sono finestre, pannelli, frame e applet.
L'interazione della GUI da parte dell'utente si suddividono in:
Intercettare le azioni compiute dall'utente
Invocare dei specifici metodi da eseguire, associate ad un’azione compiuta dall’utente
I principali tipi di eventi possono essere classificati in:
Input da parte dell'utente  (Pressione di un pulsante della tastiera o del mouse)
Eventi dell’interfaccia utente (Apertura di un menu)
Eventi delle finestre (Apertura della finestra)
Nel linguaggio Java vengono delegati i Listener (Ascoltatore-degli-eventi) per garantire e  restituire eventi specifici per ogni azione compiuta dall’utente.
Per gestire gli Ascoltatori è necessario, quindi, usare due oggetti differenti:
L’oggetto che ascolta l’evento
L’oggetto che origina l’evento
Sono disponibili diversi Listener per la realizzazione di classi, che possono intercettare e gestire diversi eventi generati dai componenti di una GUI.
Tutti i contenitori e i componenti della libreria AWT comprendono i metodi ADD…Listener .
 
import java.awt.*;
import java.awt.event.*;
import java.util.*;
 
public class Gioco extends Frame implements WindowListener, MouseListener {
 
 
private static int delay = 30;
private static int period = 1000;
   private static int interval;
private static String secs;
private static Timer timer;
private static int x;
private static int y;
private static int j=70;
private static int n = 350-j;
private int point;
private static int i;
 
 
public Gioco() {
super("Hit The Ball");
setSize(400, 400);
setResizable(false);
setVisible(true);
setLocation(500, 200);
 
 
addWindowListener(this);
addMouseListener(this);
 
}
 
 
 
public void paint(Graphics g) { 
 
    g.setColor(Color.red);
    g.fillOval(x,y,50,50);
    g.setColor(Color.black);
    g.drawString("Punteggio: " + point, 10,40);
    g.setColor(Color.black);
            g.drawString("Tempo: " + interval, 320,40);
            
            
            
   }
     
 
public void windowIconified(WindowEvent event){}
public void windowDeiconified(WindowEvent event){}
public void windowActivated(WindowEvent event){}
public void windowDeactivated(WindowEvent event){}
public void windowOpened(WindowEvent event){}
public void windowClosed(WindowEvent event){}
public void windowClosing(WindowEvent event){System.exit(0);}
public void mouseClicked(MouseEvent event){eventOutput(event);}
public void mouseEntered(MouseEvent event){eventOutput(event);}
public void mouseExited(MouseEvent event){eventOutput(event);}
public void mousePressed(MouseEvent event){eventOutput(event);}
public void mouseReleased(MouseEvent event){eventOutput(event);}
 
public MouseEvent eventOutput(MouseEvent event) {
 
if( Math.abs(event.getX()-x)<49 && Math.abs(event.getY()-y)<49){
Random random = new Random();
if (interval != 0){
 
x = random.nextInt(n)+j;
  y = random.nextInt(n)+j;
point=point+1;
this.repaint();    
}
}
return event;
    }
//Main.
public static void main(String[] args) {
Gioco gioco= new Gioco();
 
Random random = new Random();
   x = random.nextInt(n)+j;
       y = random.nextInt(n)+j;
       
secs="5"; 
timer = new Timer();
   interval = Integer.parseInt(secs);
   System.out.println(secs);
   timer.scheduleAtFixedRate(new TimerTask() 
   {
   
       public void run() {
               
        System.out.println(setInterval());
        if (interval == 0)
  System.out.println("GIOCO TERMINATO!");
       
    }
   }, delay, period);
  
}
 
private static final int setInterval() {
 
    if (interval == 1)
    timer.cancel();
         return --interval;
}
}
risposta inviata 5 Giugno 2014 da Adelfio Massimiliano Corsista (79 punti)

Domande correlate

–2 voti
0 risposte
+2 voti
0 risposte
quesito posto 4 Giugno 2014 in Classe quarta da Marco Scarpaci Corsista (94 punti) | 462 visite
+1 voto
1 risposta
quesito posto 5 Giugno 2014 in Classe quarta da Giuseppe Frangipane Corsista (110 punti) | 123 visite
778 domande
1,565 risposte
639 commenti
1,445 utenti