Witam proszę o podpowiedz przy bibliotece util

0

Witam mam pytanie ponieważ jestem w trakcie przerabiania kursu i natrafilem na pewien problem ponieważ w książce piszą że Klasa z biblioteki java.util przechowuje obiekty Event a podczas pisania tego kodu w NetBeans wyskakuje mi bląd że mam dodać biblioteke awt. dlaczego?

Z góry dziękuje za pomoc



package Od251;


import java.util.*;

public class Controller {
    private List<Event> eventList = new ArrayList<Event>();
    public void addEvent(Event c)
    {
        eventList.add(c);
    }
    public void run()
    {
        while(eventList.size()>0)
            for(Event e :new ArrayList<Event>(eventList))
                    if(e.ready())
                    {
                        System.out.println(e);
                        e.action();
                        eventList.remove(e);
                    }
                    
    }

}
0

Czym jest Event w tym tutorialu?

0

To jest kod klasy ktory dziedziczy po Controller (w/w kod) i to jest caly przyklad z tej książki chcialem go przepisac zeby zadzialal i niestety. Myślalem ze Event jest to klasa z biblioteki util

class GreenhouseControlsWithFan extends Controller { 
  private boolean light = false; 
  public class LightOn extends Event { 
    public LightOn(long delayTime) { super(delayTime); } 
    public void action() { 
      // Put hardware control code here to 
      // physically turn on the light. 
      light = true; 
    } 
    public String toString() { return "Light is on"; } 

  } 
  public class LightOff extends Event { 
    public LightOff(long delayTime) { super(delayTime); } 
    public void action() { 
      // Put hardware control code here to 
      // physically turn off the light. 
      light = false; 
    } 
    public String toString() { return "Light is off"; } 
  } 
  private boolean fan = false; 
  public class FanOn extends Event { 
    public FanOn(long delayTime) { super(delayTime); } 
    public void action() { 
      // Put hardware control code here to 
      // physically turn on the Fan. 
      fan = true; 
    } 
    public String toString() { return "Fan is on"; } 
  } 
  public class FanOff extends Event { 
    public FanOff(long delayTime) { super(delayTime); } 
    public void action() { 
      // Put hardware control code here to 
      // physically turn off the Fan. 
      fan = false; 
    } 
    public String toString() { return "Fan is off"; } 
  } 
  private boolean water = false; 
  public class WaterOn extends Event { 
    public WaterOn(long delayTime) { super(delayTime); } 
    public void action() { 
      // Put hardware control code here. 
      water = true; 
    } 
    public String toString() { 
      return "Greenhouse water is on"; 
    } 
  } 
  public class WaterOff extends Event { 
    public WaterOff(long delayTime) { super(delayTime); } 
    public void action() { 
      // Put hardware control code here. 
      water = false; 
    } 
    public String toString() { 
 
      return "Greenhouse water is off"; 
    } 
  } 
  private String thermostat = "Day"; 
  public class ThermostatNight extends Event { 
    public ThermostatNight(long delayTime) { 
      super(delayTime); 
    } 
    public void action() { 
      // Put hardware control code here. 
      thermostat = "Night"; 
    } 
    public String toString() { 
      return "Thermostat on night setting"; 
    } 
  } 
  public class ThermostatDay extends Event { 
    public ThermostatDay(long delayTime) { 
      super(delayTime); 
    } 
    public void action() { 
      // Put hardware control code here. 
      thermostat = "Day"; 
    } 
    public String toString() { 
      return "Thermostat on day setting"; 
    } 
  } 
  // An example of an action() that inserts a 
  // new one of itself into the event list: 
  public class Bell extends Event { 
    public Bell(long delayTime) { super(delayTime); } 
    public void action() { 
      addEvent(new Bell(delayTime)); 
    } 
    public String toString() { return "Bing!"; } 
  } 
  public class Restart extends Event { 
    private Event[] eventList; 
    public Restart(long delayTime, Event[] eventList) { 
      super(delayTime); 
      this.eventList = eventList; 
      for(Event e : eventList) 
        addEvent(e); 
    } 
    public void action() { 
      for(Event e : eventList) { 

        e.start(); // Rerun each event 
        addEvent(e); 
      } 
      start(); // Rerun this Event 
      addEvent(this); 
    } 
    public String toString() { 
      return "Restarting system"; 
    } 
  } 
  public static class Terminate extends Event { 
    public Terminate(long delayTime) { super(delayTime); } 
    public void action() { System.exit(0); } 
    public String toString() { return "Terminating";  } 
  } 
} 
 
public class E24_GreenhouseInnerEvent { 
  public static void main(String[] args) { 
    GreenhouseControlsWithFan gc = 
      new GreenhouseControlsWithFan(); 
    // Instead of hard-wiring, you could parse 
    // configuration information from a text file here: 
    gc.addEvent(gc.new Bell(900)); 
    Event[] eventList = { 
      gc.new ThermostatNight(0), 
      gc.new LightOn(200), 
      gc.new FanOn(300), 
      gc.new LightOff(400), 
      gc.new FanOff(500), 
      gc.new WaterOn(600), 
      gc.new WaterOff(800), 
      gc.new ThermostatDay(1400) 
    }; 
    gc.addEvent(gc.new Restart(2000, eventList)); 
    if(args.length == 1) 
      gc.addEvent(new GreenhouseControlsWithFan 
        .Terminate(new Integer(args[0]))); 
    gc.run(); 
  } 
}
 
0

W standardowych bibliotekach Javy nie ma klasy Controller. Klasa java.awt.Event co prawda istnieje, ale niezbyt pasuje do przytoczonego kodu. Czy ten tutorial nie wymaga zainstalowania dodatkowej biblioteki?

0

Klasa Controller jest napisana w tej książce i napisalem ja na samym początku mojego postu nastepnie dziedzicze po niej. Wlasnie nic nie pisze o doinstalowaniu nowej biblioteki a zadanie jest z książki Thinkink in Java IV

0

Starsze wersjie tej książki wymagały pakietu, chyba się nazywał bruceeckel.com.

0

To bede szukal dzieki

1 użytkowników online, w tym zalogowanych: 0, gości: 1