Przykłady

/* Przyklad1.java */

interface Iterator
{
  void getItem();
}

class Items
{
  private int[] tab = {1,2,3,4,5};
    
  public Iterator exposeItems()
  {
    return new ExposeItems();
  } 
    
  private class ExposeItems implements Iterator
  {
    int index = 0;
    
    public void getItem()
    {
      System.out.println("tab[" + index + "] = " + tab[index++]);
    }
  }
}

public class Przyklad1
{
  public static void main(String[] args)
  {
    Items items = new Items();
    
    Iterator group1 = items.exposeItems();
    Iterator group2 = items.exposeItems();
    
    group1.getItem();
    group1.getItem();
    group2.getItem();
    group2.getItem();
  }
}
tab[0] = 1
tab[1] = 2
tab[0] = 1
tab[1] = 2
Press any key to continue...
/* Przyklad2.java */

import java.awt.*;
import java.awt.event.*;

public class Przyklad2 extends Frame
{
  Przyklad2()
  {
    addWindowListener
    (
      new WindowAdapter() // anonimowa klasa zagnieżdzona
      {
        public void windowClosing(WindowEvent e)
        {
          System.out.println("KONIEC");
          System.exit(0);
        }
      }
    );
  
    setSize(250,200);
    setTitle("Witamy wszystkich");
    setVisible(true);
  }
  
  public void paint(Graphics g)
  {
    g.drawString("Witamy wszystkich",50,100);    
  }
  
  public static void main(String [] args)
  {
    Przyklad2 p = new Przyklad2();
  }
}
Aplikacja graficzna.
/* Przyklad3.java */

import java.awt.*;
import java.awt.event.*;

public class Przyklad3 extends Frame
{
  public Przyklad3()
  {
    super("Dialog Frame");
    setSize(200,100);
    
    addWindowListener
    (
      new WindowAdapter()
      {
        public void windowClosing(WindowEvent e)
        {
          dispose();
          System.exit(0);
        }
      }
    );
    
    final Dialog d;
    
    Button b1, b2;
    add(b1 = new Button("Press for Dialog Box"), BorderLayout.SOUTH);
    d = new Dialog(this, "Dialog Box", false);
    d.setSize(150,150);
    d.add(new Label("This is a dialog box"), BorderLayout.CENTER);
    d.add(b2 = new Button("OK"), BorderLayout.SOUTH);
    b1.addActionListener
    (
      new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          d.setVisible(true);
        }
      }
    );
    d.addWindowListener
    (
      new WindowAdapter()
      {
        public void windowClosing(WindowEvent e)
        {
          d.setVisible(false);
        }
      }
    );
  }
  
  public static void main(String[] args)
  {
    Przyklad3 app = new Przyklad3();
    app.setVisible(true);
  }
}
Aplikacja graficzna.
/* Przyklad4.java */

interface Iterator
{
  boolean hasNext();
  int next();
}

class Klasa
{
  private int[] tab = {5,9,1,7,3,5};

  EnableIterator getIterator()
  {
    return new EnableIterator();
  }

  private class EnableIterator implements Iterator
  {
    int index;

    public boolean hasNext()
    {
      return index < tab.length ? true : false;
    }

    public int next()
    {
      return tab[index++];
    }
  }
}

public class Przyklad4
{
  public static void main(String[] args)
  {
    Klasa klasa = new Klasa();
    Iterator klasaIterator = klasa.getIterator();
    wypiszElementy(klasaIterator);
    klasaIterator = klasa.getIterator();
    wypiszElementy(klasaIterator);
  }

  static void wypiszElementy(Iterator i)
  {
    while (i.hasNext())
    {
      System.out.print(i.next() + " ");
    }
    System.out.println();
  }
}
5 9 1 7 3 5
5 9 1 7 3 5
Press any key to continue...

Strona główna