Esercizi della quinta lezione del corso su Java2

  1. Trasformate uno dei programmi grafici degli esercizi della lezione precedente nel formato Swing.
  2. Trasformate l'applet 17 della lezione 4 in un'applicazione o applet Swing inserendo il disegno in una ScrollPane e permettendo all'utente con 2 TextField di cambiare la larghezza e l'altezza dello stesso a piacere.
  3. Create con AWT o Swing un integratore numerico cioe' un dispositivo che calcola un'area nel modo seguente: quando si clicca su un bottone "Disegna", il programma disegna nella finestra dell'applet un poligono chiuso con n lati disegnato a caso(anche n deve essere a caso).Quindi premendo "Comincia" il programma comincia a generare dei punti a caso nella finestra dell'applet. Per ogni punto bisogna stabilire se e' dentro o fuori il poligono. L'area (approssimata) del poligono viene calcolata facendo il rapporto tra i punti dentro e il numero totale dei punti generati. Includete anche un tasto di Stop e 2 finestre per dire quanti punti devono essere generati e per mostrare il valore dell'area.
  4. Il seguente codice mostra come si fa in Java a costruire un filtro per immagini:
    import java.applet.Applet;
    import java.awt.image.*;
    import java.awt.*;
    
    
    public class Color2GrayFilterApplet extends Applet
    {
      Image image;
      Image gray;
    
      Color2GrayFilter filter;
    
      public void init() {
        image = getImage (getCodeBase (), "images/keyb.jpg");
        System.out.println (getCodeBase ());
    
        filter = new Color2GrayFilter ();
        gray = createImage (new FilteredImageSource (image.getSource(), filter)); }
    
      public void paint (Graphics g) {
        g.drawImage (image, 0, 0, this);
        g.drawImage (gray, 310, 0, this); }
    }
    
    
    class Color2GrayFilter extends RGBImageFilter
    {
      public Color2GrayFilter () {
        canFilterIndexColorModel = true; }
    
      public int filterRGB (int x, int y, int rgb) {
        int red   = (rgb & 0xff0000) >>16;
        int green = (rgb &   0xff00) >>  8;
        int blue  =  rgb &     0xff;
        
        int gray  = (red + green + blue) / 3;
        
        return (0xff000000 | (gray << 16) | (gray <<  8) |  gray); } 
    }  
    
    Trasformate questo codice aggiungendo un'interfaccia AWT o Swing con 3 barre di scorrimento che permettono di variare a piacere il contenuto di Rosso,Verde e Blu nell'immagine filtrata.
  5. Scrivete un programma Java che faccia il grafico di una funzione con un'interfaccia Javascript formata da 2 finestre di testo e un tasto che permettano di definire l'intervallo nel quale plottare la funzione e di eseguire il grafico premendo il tasto.