[an error occurred while processing this directive]


Rheinland-Pfalz;  Informatik                                  

Letzte Aktualisierung:  17.7.2009; Claus Schmitt

Zurück zur Startseite Informatik / Rheinland-Pfalz Startseite Informatik-Rheinland-Pfalz


Mathematik-Applets
Thales

Pythagoras
Primzahlsieb

Physik-Applets
Fadenpendel
Fadenpendel (durchgehend schwingend)

Newtons Wiege

Quellen
zurück zur Java Startseite


 

Applets von Walter Fendt 
(zur Mathematik)
Dies Angebot ist noch in der Entwicklung: 

I Den Satz des Thales erfahren
(das rechtwinklige Dreieck wird grün)

 Jetzt sollte sich ein Applet melden
// Java-Applet Pythagoras 
// (Kathetensatz und Satz des Pythagoras)
// Kompilierung mit J2SDK 1.6.0
// Walter Fendt
// 25.10.1997 - 30.03.2009
// Reduzierung auf den Satz des Thales:
// Experimentelles Entdecken (Grünfärben des Dreiecks bei rechtem Winkel)
// Gründonnerstag - 20.04.2009
// C.Schmitt
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Thales extends JApplet implements MouseMotionListener {
	
//-----------------------------------------------------------------------------
// Konstanten
//-----------------------------------------------------------------------------
  final Color FZF = Color.yellow;           // Hintergrundfarbe Zeichenfläche
  final Font SANSSERIF                      // Logischer Font
    = new Font("SansSerif",Font.BOLD,12);
  
//-----------------------------------------------------------------------------
// Attribute
//-----------------------------------------------------------------------------
  Zeichenfläche zf;                         // Zeichenfläche
  int breite, höhe;                         // Abmessungen (Pixel)
  int xm, ym;           	   		   // Mittelpunkt des Thaleskreises
  int r;                        	         // Radius 
  int r2;					         // Durchmesser 
  int xa, xb ;     				   // x-Koordinaten der Hypotenusen-Endpunkte
  Polygon dreieck;                          // Dreieck
  Color dreiecksFarbe;				   // jeweilige Dreiecksfarbe 
                                            // (später rot / grün )
  
//-----------------------------------------------------------------------------
// Methoden
//-----------------------------------------------------------------------------
// Start-Methode:
  public void start () {
    Container cp = getContentPane();        // Container für Komponenten
    cp.setLayout(null);                     // Hartes Layout (Pixelangaben)
    Dimension dim = getSize();              // Abmessungen (aus HTML-Datei)
    breite = dim.width;                     // Breite (Pixel) 
    höhe = dim.height;                      // Gesamthöhe (Pixel)
    xm = breite / 2;  			         // Koordinaten für   
    ym = höhe * 8 / 10;     		         // Thaleskreis-Mittelpunkt
    r = breite / 2 - 10;			   // Radius
    r2 = 2*r;					   // Durchmesser
    xa = xm - r; xb = xm + r;       	   // End-x-Koordinaten der Hypotenuse
    zf = new Zeichenfläche();               // Zeichenfläche
    zf.setBackground(FZF);                  // Hintergrundfarbe Zeichenfläche
    zf.setBounds(0,0,breite,höhe);          // Position/Abmessungen Zeichenfläche
    cp.add(zf); 				         // Zeichenfläche hinzufügen 
    dreieck = neuesDreieck();               // Dreieck
    dreiecksFarbe = Color.green;		   // Grüne Farbe für das rechtwinklige Start-Dreieck
    setzenPunkt(0,xa,ym);         		   //  Endpunkte der Hypotenuse setzen (konstant)
    setzenPunkt(1,xb,ym);
    setzenPunkt(2,xm,ym-r);			   // Startscheitelpunkt setzen
							   // (geichschenkliges Thalesdreieck)
    zf.repaint(); 				   // Zeichenfläche neu zeichnen
    zf.addMouseMotionListener(this);        // Aufpasser für Mausbewegungen
    }
    
  // Erzeugung eines Dreiecks:
  
  
  Polygon neuesDreieck () {
  	Polygon p = new Polygon();            // Neues Polygon (mit 0 Ecken)
  	for (int i=0; i<3; i++)               // 3 Ecken hinzufügen                  
  	  p.addPoint(0,0);
  	return p;                             // Rückgabewert (Referenz auf Polygon) 
    }
  // Setzen eines Punktes (Dreiecksecke):
  // i ...... Index der Ecke
  // x, y ... Koordinaten
  void setzenPunkt (int i, int x, int y) {
    dreieck.xpoints[i] = x; 
    dreieck.ypoints[i] = y;
    } 
   
  // Reaktion auf Ziehen der Maus:
  
  public void mouseMoved (MouseEvent me) {
    int x = me.getX(), y = me.getY();       // Position des Mauszeigers                   
    if (y > ym) y = ym;                     // Mauszeiger unterhalb der Hypotenuse
    double dx = xm-x, dy = ym-y;            // Koordinaten-Differenzen 
    							   // Maß für die Abweichung vom rechtwinkligen Dreieck
    double diff = Math.abs(Math.sqrt(dx*dx+dy*dy)-r);
  							   // Dreiecksfarbe festlegen

    if (diff < 0.5)
      dreiecksFarbe = Color.green;
    else
      dreiecksFarbe = Color.red;    	
    setzenPunkt(2,x,y);				   // Scheitelpunkt setzen für Dreieck
    zf.repaint(); 				   // Neu zeichnen
    }
                                   
    
    
  // Nicht benötigte Methoden von MouseMotionListener:
  public void mouseDragged (MouseEvent me){}  
  public void mouseEntered (MouseEvent me){}
  public void mouseExited (MouseEvent me) {}
    
  // ----------------------------------------------------------------
  // Innere Klasse Zeichenfläche:
  
  class Zeichenfläche extends JPanel {
  	public void paint (Graphics g) {
  	  super.paint(g);                       // Hintergrund zeichnen
  	  
      g.setColor(dreiecksFarbe);               // Dreieck ausfüllen 
      g.fillPolygon(dreieck);        
      g.setColor(Color.black);		    // Ränder zeichnen  
      g.drawArc(xm-r,ym-r,r2,r2,0,180);      // Thaleskreis zeichnen
      						    // Halbkreise für zwei weitere Radien zeichnen,
      						    // um Thaleskreis besser zu betonen
      int rr, d;					    // Hilfsgrößen dafür
      rr = r - 1;								
      d = 2*rr;
      g.drawArc(xm-rr,ym-rr,d,d,0,180);
      rr = r + 1;
      d = 2*rr;
      g.drawArc(xm-rr,ym-rr,d,d,0,180);
      						    // Dreieckseiten zeichnen
      g.drawPolygon(dreieck);
      g.setFont(SANSSERIF);                  // Header
      g.drawString("Dreieck mit der Maus erfahren",breite/3,40);
      						    // Copyright-Hinweis
      g.drawString("©  W. Fendt 1997",50,höhe-20); 
      g.drawString("reduziert  von  C. Schmitt 2009",50,höhe-7);
      }
      
    } // Ende Zeichenfläche
  } // Ende Thales
 

.zum Anfang der SeiteBegriffe Suchen  

 
 Satz des Pythagoras

Jetzt sollte sich ein Applet melden

                  
// Java-Applet Thales
// Kathetensatz und Satz des Thales
// Kompilierung mit J2SDK 1.6.0
// Walter Fendt
// 25.10.1997 - 30.03.2009
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Pythagoras extends JApplet implements MouseMotionListener {
	
//-----------------------------------------------------------------------------
// Konstanten
//-----------------------------------------------------------------------------
  final Color FZF = Color.yellow;           // Hintergrundfarbe Zeichenfläche
  final Color FARBE_DREIECK = Color.green;  // Farbe für Dreieck
  final Color FARBE_RE = Color.blue;        // Farbe für rechte Seite
  final Color FARBE_LI = Color.red;         // Farbe für linke Seite
  final int XM = 200, YM = 150;             // Mittelpunkt des Thaleskreises
  final int R = 50, R2 = 2*R;               // Radius und Durchmesser
  final int XA = XM-R, XB = XM+R;           // Endpunkte der Hypotenuse
  final Font SANSSERIF                      // Logischer Font
    = new Font("SansSerif",Font.BOLD,12);
  
//-----------------------------------------------------------------------------
// Attribute
//-----------------------------------------------------------------------------
  Zeichenfläche zf;                         // Zeichenfläche
  int breite, höhe;                         // Abmessungen (Pixel)
  int x0, y0;                               // Scheitel des rechten Winkels
  Polygon dreieck;                          // Dreieck
  Polygon quadratLinks, quadratRechts;      // Quadrate
  
//-----------------------------------------------------------------------------
// Methoden
//-----------------------------------------------------------------------------
  // Start-Methode:
  public void start () {
  	Container cp = getContentPane();      // Container für Komponenten
  	cp.setLayout(null);                   // Hartes Layout (Pixelangaben)
  	Dimension dim = getSize();            // Abmessungen (aus HTML-Datei)
  	breite = dim.width;                   // Breite (Pixel) 
  	höhe = dim.height;                    // Gesamthöhe (Pixel)
    zf = new Zeichenfläche();               // Zeichenfläche
    zf.setBackground(FZF);                  // Hintergrundfarbe Zeichenfläche
    zf.setBounds(0,0,breite,höhe);          // Position/Abmessungen Zeichenfläche
    cp.add(zf); zf.repaint();               // Zeichenfläche hinzufügen und neu zeichnen
    dreieck = neuesPolygon(3);              // Dreieck
    quadratLinks = neuesPolygon(4);         // Kathetenquadrat links
    quadratRechts = neuesPolygon(4);        // Kathetenquadrat rechts
    x0 = (int)(XM-0.6*R);                   // Scheitel des rechten Winkels, 
							   // x-Koordinate 
    y0 = (int)(YM-0.8*R);                   // Scheitel des rechten Winkels, 
							   // y-Koordinate
    zf.addMouseMotionListener(this);        // Aufpasser für Mausbewegungen
    }
    
  // Erzeugung eines Polygons:
  // n ... Zahl der Ecken
  
  Polygon neuesPolygon (int n) {
  	Polygon p = new Polygon();              // Neues Polygon (mit 0 Ecken)
  	for (int i=0; i<n; i++)                 // n Ecken hinzufügen                  
  	  p.addPoint(0,0);
  	return p;                               // Rückgabewert (Referenz auf Polygon) 
    }
  // Setzen eines Punktes (Polygonecke):
  // p ...... Polygon
  // i ...... Index der Ecke
  // x, y ... Koordinaten
  void setzenPunkt (Polygon p, int i, int x, int y) {
    p.xpoints[i] = x; p.ypoints[i] = y;
    }
  // Aktualisierung der Polygone:
  // Die Ecken des rechtwinkligen Dreiecks und der beiden Kathetenquadrate
  // werden an die neuen Werte von x0 und y0 (Scheitel des rechten Winkels)
  // angepasst.
  void setzenPolygone () {
    setzenPunkt(dreieck,0,XA,YM);                // Dreieck
    setzenPunkt(dreieck,1,XB,YM);
    setzenPunkt(dreieck,2,x0,y0);
    int dx = x0-XA, dy = YM-y0;                  // Hilfsgrößen
    setzenPunkt(quadratLinks,0,XA,YM);           // Linkes Kathetenquadrat
    setzenPunkt(quadratLinks,1,x0,y0);
    setzenPunkt(quadratLinks,2,x0-dy,y0-dx);
    setzenPunkt(quadratLinks,3,x0-dy-dx,YM-dx);
    dx = XB-x0; dy = YM-y0;                      // Hilfsgrößen ändern
    setzenPunkt(quadratRechts,0,x0,y0);          // Rechtes Kathetenquadrat
    setzenPunkt(quadratRechts,1,XB,YM);
    setzenPunkt(quadratRechts,2,XB+dy,YM-dx);
    setzenPunkt(quadratRechts,3,x0+dy,y0-dx);
    }
   
  // Reaktion auf Ziehen der Maus:
  
  public void mouseDragged (MouseEvent me) {
    int x = me.getX(), y = me.getY();            // Position des Mauszeigers   
    if (y > YM) y = YM;                          // Mauszeiger unterhalb der 
								  // Hypotenuse 
    double my = Math.atan2(YM-y,x-XM);           // Mittelpunktswinkel
    x0 = (int)Math.round(XM+R*Math.cos(my));     // Neuer Scheitel
    y0 = (int)Math.round(YM-R*Math.sin(my));
    zf.repaint();                                // Neu zeichnen
    }
    
  // Nicht benötigte Methoden von MouseMotionListener:
    
  public void mouseMoved (MouseEvent me) {}
  public void mouseEntered (MouseEvent me) {}
  public void mouseExited (MouseEvent me) {}
    
  // ----------------------------------------------------------------
  // Innere Klasse Zeichenfläche:
  
  class Zeichenfläche extends JPanel {
  	public void paint (Graphics g) {
  	  super.paint(g);                     // Hintergrund zeichnen
      setzenPolygone();                     // Polygone aktualisieren
      g.setColor(FARBE_DREIECK);            // Dreieck ausfüllen 
      g.fillPolygon(dreieck);        
      g.setColor(FARBE_LI);                 // Kathetenquadrat links ausfüllen 
      g.fillPolygon(quadratLinks); 
      g.fillRect(XA,YM,x0-XA,R2);           // Rechteck links ausfüllen
      g.setColor(FARBE_RE);                 // Kathetenquadrat rechts ausfüllen 
      g.fillPolygon(quadratRechts);      
      g.fillRect(x0,YM,XB-x0,R2);           // Rechteck rechts ausfüllen 
      g.setColor(Color.black);              // Ränder zeichnen
      g.drawPolygon(quadratLinks); 
      g.drawPolygon(quadratRechts);              
      g.drawRect(XA,YM,x0-XA,R2);    
      g.drawRect(x0,YM,XB-x0,R2);                                    
      g.drawArc(XA,YM-R,R2,R2,0,180);       // Thaleskreis zeichnen
      g.setFont(SANSSERIF);                 // Copyright-Hinweis
      g.drawString("©  W. Fendt 1997",breite-120,höhe-20);
      }
      
    } // Ende Zeichenfläche
  } // Ende Pythagoras

.zum Anfang der SeiteBegriffe Suchen  

 

Primzahlsieb (vereinfachte Fassung)

Jetzt sollte sich ein Applet melden

// Java-Applet Primzahlen
// Primzahlentabelle
// Kompilierung mit J2SDK 1.6.0
// Walter Fendt
// 12.10.2003 - 01.04.2009
// Vorschläge zur didaktischen Reduzierung C.Schmitt; 16.7.09
// Das Applet zeigt eine Primzahlentabelle, die 1000 Zahlen umfasst. In jeder
// Tabellenzeile stehen 10 Zahlen. 
// Da die Tabelle viel Platz einnimmt, wird sie in ein Rollbalkensystem  
// (ScrollPane) eingebaut. Mithilfe der Rollbalken lässt sich der sichtbare 
// Teilbereich der Tabelle auswählen. Bewegt man den Mauszeiger zu einer Zahl 
// der Tabelle, so erscheint kurzzeitig die Aussage, dass es sich um eine 
// Primzahl handelt, oder die Primfaktorenzerlegung der Zahl.
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Primzahlen extends JApplet 
implements  MouseMotionListener {
	
//-----------------------------------------------------------------------------
// Konstanten
//-----------------------------------------------------------------------------
  final Color FZF = Color.yellow;           // Hintergrundfarbe Zeichenfläche	
  final Color FARBE_PRIM = Color.orange;    // Farbe für Primzahlen
  final Color FSF = Color.green;            // Hintergrundfarbe Schaltfläche
  final Font SANSSERIF                      // Logischer Font
    = new Font("SansSerif",Font.BOLD,12);
  final int HÖHE_TITEL = 40;                // Höhe der Tabellenüberschrift (Pixel)
  final int BREITE_ZF = 1100;               // Breite der Zeichenfläche (Pixel)
  final int HÖHE_ZF = 2001;                 // Höhe der Zeichenfläche (Pixel)
  final int HÖHE_RB = 320;                  // Höhe des Rollbalken-Systems (Pixel)
  final int HöHE_ZELLE = HöHE_ZF/100;       // Höhe einer Tabellenzelle (Pixel) 
  
//-----------------------------------------------------------------------------
// Attribute
//-----------------------------------------------------------------------------
  boolean[][] prim;                          // Array mit Wahrheitswerten für Primzahl
  int breite, höhe;                          // Abmessungen des Applets (Pixel)
  JLabel lbTitel;                            // Tabellenüberschrift
  Zeichenfläche zf;                          // Zeichenfläche (Tabelle) 
  JScrollBar scrH, scrV;                     // Rollbalken horizontal/vertikal  
  int breiteZelle;                           // Breite einer Tabellenzelle (Pixel)
  
//-----------------------------------------------------------------------------
// Methoden
//-----------------------------------------------------------------------------
  
  // Start-Methode:
  
  public void start () {
  	Container cp = getContentPane();        // Container für Komponenten
  	cp.setLayout(null);                     // Hartes Layout (Pixelangaben)                                
  	prim = new boolean[100][10];            // Array mit Wahrheitswerten für Primzahl
  	updateFlags();                          // Wahrheitswerte ermitteln    
  	Dimension dim = getSize();              // Abmessungen (aus HTML-Datei)
  	breite = dim.width;                     // Breite (Pixel) 
  	höhe = dim.height;                      // Gesamthöhe (Pixel)
  	lbTitel = new JLabel(titel());          // Tabellenüberschrift
  	lbTitel.setBackground(FSF);             // Hintergrundfarbe
  	lbTitel.setOpaque(true);                // Undurchsichtig
  	lbTitel.setBounds(0,0,breite,HÖHE_TITEL);  // Position und Abmessungen (Pixel)
  	cp.add(lbTitel);                        // Tabellenüberschrift hinzufügen
  	breiteZelle = 42;                       // Breite einer Tabellenzelle (Pixel) 
  	zf = new Zeichenfläche();               // Zeichenfläche für Tabelle
      zf.addMouseMotionListener(this);        // Aufpasser für Mausbewegungen
        
  	JScrollPane sp = new JScrollPane(zf);   // Rollbalkensystem für Tabelle
  	sp.setBounds(0,HÖHE_TITEL,breite,HÖHE_RB); // Position und Abmessungen (Pixel)
  	sp.setHorizontalScrollBarPolicy(        // Horizontaler Rollbalken immer sichtbar
  	JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
  	sp.setVerticalScrollBarPolicy(          // Vertikaler Rollbalken immer sichtbar
  	JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
  	scrH = sp.getHorizontalScrollBar();     // Horizontaler Rollbalken
  	scrV = sp.getVerticalScrollBar();       // Vertikaler Rollbalken
  	updateRollbalken();                     // Rollbalken anpassen
  	cp.add(sp);                             // Rollbalkensystem (mit Inhalt) hinzufügen 
        
  	
  	                         
    }
    
  // Überschrift:
  
  String titel () {
  	String s = "   Primzahlentabelle (";    // Anfang der Überschrift (Zeichenkette)
  	s += "1 bis 1000";                      // Überschrift ergänzen
  	return s;                               // Rückgabewert
    }
    
  //**********************************************************************************
  // Umsetzung der eigentlichen Mathematik
  // Kleinster Primfaktor:
  // z ... Gegebene natürliche Zahl (größer als 1)
  // Falls z nicht größer als 1 ist (Fehler), ist der Rückgabewert 0. 
  
  long kleinsterPrimfaktor (long z) {
  	if (z <= 1) return 0;                   // Fehler, da z > 1 nicht erfüllt
  	long t = 2;                             // Möglicher Teiler von z
  	while (t*t <= z) {                      // Teiler bis zur Wurzel aus z testen
        if (z%t == 0) return t;               // Bei Erfolg Teiler ausgeben
        t++;                                  // Andernfalls weitermachen
      }
      return z;                               // z ausgeben, da Primzahl
  	} 
  	
  // Überprüfung der Primzahleigenschaft:
  // z ... Gegebene natürliche Zahl
  
  boolean istPrimzahl (long z) {
  	if (z <= 1) return false;               // z <= 1, daher keine Primzahl
  	return (kleinsterPrimfaktor(z) == z);   // Bedingung für Primzahl
    }
    
  // Aktualisierung der Wahrheitswerte für die Primzahleigenschaft:
  
  void updateFlags () {
  	for (int i=0; i<100; i++)               // Für alle 100 Tabellenzeilen
  	  for (int j=0; j<10; j++) {            // Für alle 10 Tabellenspalten
  	    long z = 10*i+j+1;                  // Zahl in Tabellenzelle
  	    prim[i][j] = istPrimzahl(z);        // Wahrheitswert für Primzahleigenschaft
        }
    }
  //*********************************************************************************    
  // Rollbalken aktualisieren:
  
  void updateRollbalken () {
  	scrH.setUnitIncrement(breiteZelle);     // Klick auf Pfeil (horizontal)
  	scrH.setBlockIncrement(2*breiteZelle);  // Klick auf Rollbalken (horizontal)
  	scrV.setUnitIncrement(HÖHE_ZF/100);    // Klick auf Pfeil (vertikal)
  	scrV.setBlockIncrement(HÖHE_ZF/10);    // Klick auf Rollbalken (vertikal)
    }
    
  // ..........................................................................
   
    
  // Reaktion auf Mausbewegungen:
  
  // Falls sich der Mauszeiger innerhalb der Primzahltabelle befindet,
  // wird an dieser Stelle für kurze Zeit ein Hinweis (ToolTip) eingeblendet.
  // Dieser Hinweis enthält entweder die Aussage, dass eine Primzahl vorliegt,
  // oder die Primfaktorenzerlegung. 
  
  public void mouseMoved (MouseEvent me) {
  	int x = me.getX(), y = me.getY();            // Position des Mauszeigers
  	boolean innerhalb = (x < 10*breiteZelle);    // Position innerhalb der Tabelle? 
  	long z = 10*(y/HÖHE_ZELLE)+x/breiteZelle+1; // Zahl in der Tabellenzelle
  	if (!innerhalb || z <= 1) {                  // Kein Hinweis nötig
  	  zf.setToolTipText(null); return;
  	  }
  	String s = ""+z;                             // Zahl in Zeichenkette umwandeln
  	long p = kleinsterPrimfaktor(z); z /= p;     // Durch kleinsten Primfaktor teilen
  	if (z == 1) s += " ist eine Primzahl.";      // Hinweistext für Primzahl
  	else s += " = "+p;                           // Hinweistext für Zerlegung (Beginn)
  	while (z > 1) {                              // Solange Zerlegung noch nicht beendet ...
  	  p = kleinsterPrimfaktor(z); z /= p;        // ... durch kleinsten Faktor teilen
  	  s += " \u00b7 "+p;                         // ... Malpunkt und Faktor ergänzen
  	zf.setToolTipText(s);                        // Hinweistext festlegen
    }
    
  // Nicht benötigte Methode von MouseMotionListener: 
  
  public void mouseDragged (MouseEvent me) {}
    
  // --------------------------------------------------------------------------
    
  // Innere Klasse Zeichenfläche (Tabelle):
  
  class Zeichenfläche extends JPanel {
  	
  	// Konstruktor:
  	
  	Zeichenfläche () {
  	  setBounds(0,0,BREITE_ZF,HÖHE_ZF);     // Position und Abmessungen (Pixel)
  	  setBackground(FZF);                    // Hintergrundfarbe
      }
      
    // Grafik-Ausgabe:
    // g ... Grafik-Kontext
  	
    public void paint (Graphics g) {
      super.paint(g);                       // Hintergrund zeichnen
  	g.setFont(SANSSERIF);                 // Zeichensatz
  	FontMetrics fmH                       // Abmessungen Zeichensatz 
  	  	= getFontMetrics(SANSSERIF);
  	g.setColor(Color.black);              // Schriftfarbe schwarz 
  	for (int i=0; i<100; i++)             // Für alle 100 Zeilen
  	  for (int j=0; j<10; j++) {          // Für alle 10 Spalten
  	      long z = 10*i+j+1;              // Zahl in Tabellenzelle
  	      if (prim[i][j]) {               // Falls Primzahl ...
  	      	g.setColor(FARBE_PRIM);         // ... Farbe für Primzahl
  	      	g.fillRect(j*breiteZelle,i*HÖHE_ZELLE,breiteZelle,HÖHE_ZELLE);    
  	      		                          // ... Zelle einfärben
  	      	g.setColor(Color.black);        // ... Farbe zurücksetzen
  	        }
  	      String s = ""+z;                     // Zahl in Zeichenkette umwandeln
  	      int w = fmH.stringWidth(s);          // Breite (Pixel)
  	      g.drawString(s,(j+1)*breiteZelle-w-8,i*HÖHE_ZELLE+15);  
  	      	                                // Zahl eintragen
  	      }
  	int xRechts = 10*breiteZelle;         // Rechter Rand der Tabelle (Pixel)
  	for (int i=0; i<=100; i++) {          // Waagrechte Begrenzungslinien
  	  int y = i*HÖHE_ZELLE;              // y-Koordinate der Linie
  	  g.drawLine(0,y,xRechts,y);          // Linie zeichnen
  	    }
  	int yUnten = 100*HÖHE_ZELLE;         // Unterer Rand der Tabelle (Pixel)
  	for (int j=0; j<=10; j++) {           // Senkrechte Begrenzungslinien
  	   int x = j*breiteZelle;             // x-Koordinate der Linie
  	   g.drawLine(x,0,x,yUnten);          // Linie zeichnen
  	    }
  	  }
  	  
  	// Bevorzugte Abmessungen der Zeichenfläche:
  	
  	// Diese Methode wird vom Rollbalkensystem (ScrollPane) benötigt.
  	  
  	public Dimension getPreferredSize () {
  	  return new Dimension(BREITE_ZF,HÖHE_ZF);
      }
  	  
    } // Ende Zeichenfläche
	
  } // Ende Primzahlen
 

.zum Anfang der SeiteBegriffe Suchen

Physik-Applets   vgl.

Quellen

         Herrn Walter Fendt / Paul-Klee-Gymnasium Gersthofen / Fachlehrer für Mathematik / Physik / Informatik 
         bin ich für hilfreichen Anregungen und die Überarbeitung der Applet-Quelltexte sehr dankbar. 

         Außerdem danke ich für den  kommentierten Quelltext der beiden Applets, welche er extra für diese
         ZUM-Seite  neu überarbeitet hat!

.zum Anfang der SeiteBegriffe Suchen

 

Ergänzungen und Anregungen bitte an Claus Schmitt
 

Zurück zur Startseite Informatik / Rheinland-Pfalz Startseite Informatik-Rheinland-Pfalz
Impressum · Datenschutz