spacer.gif spacer.gif spacer.gif spacer.gif spacer.gif
HeaderLeft.gif HeaderTop3.gif HeaderTop2.gif spacer.gif
20.05.2012, 11:31 Uhr  
spacer.gif
spacer.gif spacer.gif Knowledge Base spacer.gif
spacer.gif
spacer2.gif
spacer.gif
HeaderBottbg.jpg
Hauptmenü

Seite durchsuchen


Anmeldung




 



Online
Aktuell 1 Gast und 0 registrierte Benutzer online.

Anmeldung

Fahrplan.java
.: Veröffentlicht am 09-Aug-2003 :: gelesen: 1882 :: Bewerten :: Aktuelle Seite drucken :: Alle drucken:.


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


public class Busfahrplan extends Applet implements ActionListener {
 
 //Textfelder und Buttons
 
 TextField txtLinie, txtStandort;
 Button cmdLinie, cmdStandort;
 
 //Array
 int [][] linie;
 
 //Fahrplandatenobjekt
 FahrplanDaten fahrplan1;
 
 //Boolean
 boolean bStandort;
  
 //Werte
 int linienwert, standortwert;
 int position, wert;
 
 final int HST=0, DIST=1;
 
 public void init() {
  
  
  //Erzeugen von Button und Textfelder
  txtLinie = new TextField(10);
  txtStandort = new TextField(10);
  cmdLinie = new Button("Linie");
  cmdStandort = new Button("Standort");
  
  //Actionlistener
  cmdLinie.addActionListener(this);
  cmdStandort.addActionListener(this);
  txtLinie.addActionListener(this);
  txtStandort.addActionListener(this);
  
  
  //Fahrplanobjekt erzeugen
  fahrplan1 = new FahrplanDaten();
  
  //Grösse des Applets
  setSize(500,300);
 
  Panel p = new Panel(new GridLayout(1,4,10,10));
  
  //Panel einfügen
  p.add(txtLinie);
  p.add(cmdLinie);
  p.add(txtStandort);
  p.add(cmdStandort);
  
  //Panel monitieren
  add(p);
  
 }

 public void paint(Graphics g) {
  
  if(linienwert == 0 || linienwert >4)
  return;
  
  linie = fahrplan1.getLinie(linienwert);
  //System.out.println(linie);
  
  //Startposition
  int xPos = 50;
  int yPos = 80;
   
    
  //Ueberschriften zeichnen
  g.drawString("Linie     "+linienwert,xPos,yPos);
  g.drawString("Haltestellen",xPos+100,yPos);
  g.drawString("Distanz",xPos+200,yPos);
  
  for(int i = 0; i  {
   yPos = yPos +20;
   g.drawString(""+linie[i][0],xPos+100,yPos);
  }
  
  //Startposition
  xPos = 50;
  yPos = 80;
  
  for(int k = 0; k  {
   yPos = yPos +20;
   g.drawString(""+linie[k][1],xPos+200,yPos);
  }
  
  
  /*
  for(int row = 0;row    
   if(position >line[row][DIST]
    distanz = line[row][HST]
  */
  
 wert=standort(standortwert,linie);
 //System.out.println(wert);
 if(wert==-1)
 g.drawString("Sie haben sich verfahren, schade!!!!", 50,220);
 else
 //linie[wert+1][0] = nächste Haltestelle
 //linie[wert+1][1] = Entfernung der nächsten Haltestelle
 g.drawString("Nächste Haltestelle ist Nr. "+linie[wert+1][0]+" , Sie werden Sie nach  "+(linie[wert+1][1]-standortwert)+" erreichen",50,220);
  
 }
 
 public int standort(int position,int linie[][])
 {
  
  //Array der Liniendaten wird durchgesteppt, und zwar die zweite Kolone [1]
  for(int i=0;i  {
  //Falls die Position >= Entfernung der Haltestelle oder kleiner als die Entfernung der nächsten Haltestelle ist
  //soll er die betreffende Haltestelle zurückgeben
  //Es wird geprüft, zwischen welcher Haltestelle man ist
  if(position>=linie[i][1]&&position<=linie[i+1][1])
   {
    return i;
  
   }
  }
 
 return -1;
    
 }
 
 public void actionPerformed(ActionEvent e) {
  
  //Action Eventhandler
  //Parse= Zeichen für Zeichen des Strings wird eingelesen und umgewandelt
  try
  {  
  if(!txtLinie.getText().equals(""))
  {
  linienwert = Integer.parseInt(txtLinie.getText());
  txtLinie.setText(""); 
  }
  
  if(!txtStandort.getText().equals(""))
  {
  standortwert = Integer.parseInt(txtStandort.getText());
  txtStandort.setText("");
  }
  //System.out.println(newValue);
  
  repaint();
  
   
  }
  catch (Exception ev)
  {
   showStatus("Es werden nur nummerische Eingaben akzeptiert");
   
  }
  
  repaint();
  
  
 }
 
 public void showLine(int line) {
 }
 
 
 
 
}

class FahrplanDaten {
 
 //Deklaration von 4 Arrays
 int line1[][] = { {1,0},{2,300},{4,800},{8,1700},{13,2600},{18,3000} };
 int line2[][] = { {1,0},{2,500},{3,900},{7,1000},{17,1500},{19,2500} };
 int line3[][] = { {1,0},{2,600},{4,1200},{8,3100},{13,3600},{21,4000} };
 int line4[][] = { {1,0},{2,300},{7,800},{9,1200},{16,2900},{25,3400} };
  
 public int [][] getLinie (int liniennr) {
  
  int line[][]=null;
  
  switch(liniennr)
  {
   case 1:   line=line1;
       break;
   case 2:   line=line2;
       break;
   case 3:   line=line3;
       break;
   case 4:   line=line4;
       break;
   
      
  }
  
  return line;

 }
}

.: Zurück zum Thema Codebeispiele :: Zurück zum Inhaltsverzeichnis :.
Footerdot.gif
Schularbeiten, Aufsätze und vieles mehr!