# Ampelprogramm



## Kathafd (3. Mrz 2008)

Hallo habe ein Ampelprogramm in Java geschrieben und würde das gerne aufs handy bringen, hab es schon mit Netbean versucht, aba es wil einfach nciht laufen kann mir da jemand helfen? Danke schon mal für die Hilfe

```
package ampel;

import java.awt.*;               
import java.awt.event.*;
import java.io.*;
import java.util.*;
import stdIn.StdInE;

public class Ampel extends Frame  implements ActionListener 

{boolean rot_a = false;
 boolean gelb_a = false;
 boolean gruen_a = true;
 boolean rot_b = true;
 boolean gruen_b = false;
 boolean schaltung = false;
 
 
 Button signal = null;
 
 
 int zustand = 0 ;
 
  
 
 zeitsteuerung st=new zeitsteuerung();
 
 public Ampel ()
 { 	
  super ("Ampelsimulation       Katharina "); // Beschriftung
  this.setLayout(null);
  
  Color hintergrund = new Color(250,110,10);
  
  Rectangle Ampel = new Rectangle(150,150,400,200); // Größe des Fensters
  this.setBounds(Ampel);
  this.setBackground(hintergrund);
  this.setVisible(true);
  
   
  MenuBar hauptMenu = new MenuBar();
  Menu dateiMenu = new Menu("Datei");
  
  
  setMenuBar(hauptMenu); //Menueleiste zum Fenster hinzufügen
  hauptMenu.add(dateiMenu); //Menue zur Menueleiste hinzufügen
  
   
  dateiMenu.add(new MenuItem("Beenden")); // fügt dem Menue Datei den Button beenden zu
  dateiMenu.addActionListener(this);
  
  signal = new Button("Signal");
  signal.setBounds(250,100,50,20);
  this.add(signal);
  ActionListenerButton alb_signal = new ActionListenerButton(signal);
  signal.addActionListener(alb_signal);
  
    
  this.addWindowListener (new WindowAdapter()
  {
   public void windowClosing(WindowEvent we)
   {
    System.exit(0);
   }
  }); //this.addWindowListener (new WindowAdapter()
  
  st.start();
  
 }   //public Ampel()
 
 public void steuerung ()
 {
 
      
 }// public void steuerung;
 
 
 
    
 public void paint(Graphics g)
 {g.setColor(SystemColor.black);
  g.drawOval(100,100,15,15);
  g.drawOval(100,120,15,15);
  g.drawOval(100,140,15,15);
  
  if (schaltung){signal.setBackground(SystemColor.red);}
  if (!schaltung) {signal.setBackground(SystemColor.lightGray);}
  
  
  g.drawOval(150,120,15,15);
  g.drawOval(150,140,15,15);  
  
  g.fillRect(98,98,19,59);
  g.fillRect(148,119,19,39);
  
  g.setColor(SystemColor.lightGray);
  
  g.fillOval(100,100,15,15);
  g.fillOval(100,120,15,15);
  g.fillOval(100,140,15,15);
  
  g.fillOval(150,120,15,15);
  g.fillOval(150,140,15,15); 
  
   
  if (rot_a)
  {g.setColor(SystemColor.red);
   g.fillOval(100,100,15,15);
  }// if (rot_a)
  
  if (gelb_a)
  {g.setColor(SystemColor.yellow);
   g.fillOval(100,120,15,15);
  }// if (gelb_a)
  
  if (gruen_a)
  {g.setColor(SystemColor.green);
   g.fillOval(100,140,15,15);
  }// if (gruen_a)
  
  if (rot_b)
  {g.setColor(SystemColor.red);
   g.fillOval(150,120,15,15);
  }// if (rot_b)
  
  if (gruen_b)
  {g.setColor(SystemColor.green);
   g.fillOval(150,140,15,15);
  }// if (gruen_b)
  
 }//public void paint(Graphics) g)



  public void actionPerformed(ActionEvent ae) 
  {
  	
   if (ae.getActionCommand() == "Beenden")
   {System.exit(0);
   }
   
  }// public void actionPerformed(ActionEvent ae)



class ActionListenerButton implements ActionListener
  // ActionListener für Buttons
{private Button b = new Button();
 public ActionListenerButton(Object o) //Konstruktor für Button
  {
   b = (Button) o;
  }  //public ActionListenerB1(Object o)
  
  
  
  public void actionPerformed (ActionEvent e)
  {
   if (b.getName() == signal.getName())
   {schaltung = true;
    steuerung();
    repaint();
   }// if (b.getName() == b_ok.getName())
 	       
  }//public void actionPerformed (ActionEvent e)
 	
 }//public class ActionListenerButton implements ActionListener
 
 public class zeitsteuerung extends Thread
 {
  public zeitsteuerung()
  {
  }//public zeitsteuerung()
 	
  public void run()
  {try
   {while (true)
    {
          
          
     switch (zustand)
     {case 0:{if (schaltung)
              {zustand = 1;
               repaint();
              }//if (schaltung)
             
             }//case 0
             break;
     	     
     
      case 1:{sleep (2000);
                           
     	      gruen_a = false;
              gelb_a = true;
              repaint();
              zustand = 2;                                        
      	     }//case 1
      	     break;
      
      case 2:{sleep (2000);
      	      gelb_a = false;
      	      rot_a = true;
      	      repaint();
      	      zustand = 3;      	      
      	     }//case 2
      
      case 3:{sleep (2000);
      	      rot_b = false;
      	      gruen_b = true;
      	      
      	      schaltung = false;
      	      
      	      repaint();
      	      zustand = 4;
      	     }//case 3
      
      case 4:{sleep (5000);
      	      gruen_b = false;
      	      rot_b = true;
      	      repaint();
      	      zustand = 5;
      	     }//case 4
      	     
      case 5:{sleep (2000);
      	      rot_a = true;
      	      gelb_a = true;
      	      repaint();
      	      zustand = 6;
      	     }//case 5
      	     
      case 6:{sleep (2000);
      	      rot_a = false;
      	      gelb_a = false;
      	      gruen_a = true;
      	      repaint();
      	      zustand = 0;
      	     }//case 4
      	
  }// switch (zustand)
  
  
     
          
     }//while (true)
   
   }//try
   
   catch(InterruptedException ie) 
   {interrupt();
   System.out.println("Fehler:");
   }//catch(InterruptedException ie)

  }//public void run()
 }//public class zeitsteuerung extends Thread


 public static void main (String[] args)
 {
  Ampel f=new Ampel();
  f.show();
 }  //public static void main (String[] args)
 
}//public class Ampel extends Frame
```


----------



## Jockel (3. Mrz 2008)

1. http://catb.org/~esr/faqs/smart-questions.html
2. AWT ist in J2ME nicht verfügbar.


----------



## Kathafd (3. Mrz 2008)

na sehr freundlich, ich frag ja nur weil ich es noch nie gemacht hab un dann 1. toll zu 2. was ist AWT


----------



## Jockel (4. Mrz 2008)

1. Du hast warhscheinlich das Lesen des von mir geposteten Links nach der Überschrift abgebrochen. 
2. Schau dir mal deine erste Import Zeile an. Du verwendest AWT. Ansonsten: Google (bitte bitte bitte mit i-tüpfelchen drauf)
3. Du kannst keine Programme, die für den Desktop entwickelt worden, auf dem Handy zum laufen bringen. Jedenfalls nicht ohne Änderungen.
4. Für ein Hello-World Programm für J2ME siehe http://java-forum.org/de/topic604_der-anfang-microedition.html


----------



## Backwardsman (4. Mrz 2008)

den link solltest du dir echt mal anschauen... keiner hat hier lust auf auf "hey, das funktioniert nicht, macht ihr das mal" gefolgt von mehreren hundert Zeilen code!!


----------

