kramann.info
© Guido Kramann

Login: Passwort:










10.5 Verknüpfung zwischen dem Positionserfassungsprogramm in C und einem Java-GUI-Programm

10.5 (EN google-translate)

10.5 (PL google-translate)

Der folgende Quellcode zeigt, wie eine Animation mit Java erstellt werden kann.

import java.applet.*;
import java.awt.*;
import javax.swing.*;
import java.io.*;


public class Animation extends Applet implements Runnable
{
    public double phi;
    public Thread thread;

    public void init()
    {
        phi=0.0;
        thread = new Thread(this);
    }

    public void start()
    {
        thread.start();
    }

    public void run()
    {
        while(true)
        {
            try
            {
                Thread.sleep(50);
            }
            catch(Exception e)
            {
            }
            phi+=0.04;
            repaint();
        }
    }

    public void paint(Graphics g)
    {
        g.setColor(new Color(200,255,200));
        int x = (int)(100.0*Math.cos(phi)+110.0+0.5);
        int y = (int)(100.0*Math.sin(phi)+110.0+0.5);
        g.fillRect(x,y,200,100);
    }

    public static void main(String[] args)
    {
        Animation hb = new Animation();
        hb.init();
        hb.start();
        hb.repaint();

        JFrame mF = new JFrame("Differentialgeometrie");
        mF.getContentPane().add(hb);
        mF.pack();
        mF.setSize(500,500);
        mF.setLocation(10,10);
        mF.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        mF.setVisible(true);
    }
}

Code 10.5-1: Animation eines Kreises, Quelltext von Animation.java.

  • Speichern in: Animation.java
  • Kompilieren: javac Animation.java
  • Starten: java Animation
Übung

Betten Sie das C-Webcam-Positionserkennungsprogramm aus dem vorangegangenen Kapitel in das Java-Programm ein. Übergeben Sie die erkannte Position an Java als String. Orientieren Sie sich hierzu an das Beispiel aus Kapitel 4.4. Lassen Sie zur Kontrolle die Position zusätzlich als Koordinaten auf der Konsole ausgeben, bzw. beginnen mit einem Java-Testprogramm ohne GUI.

Jetzt soll der Kreis immer an der Stelle erscheinen, an der die Position (in Pixeln) der Positionsleuchte erfasst wird.

In einer Erweiterung soll nun auch die aktuelle Orientierung und Geschwindigkeit der Positionsleuchte erfasst werden. In der Java-Darstellung soll ein Pfeil an den Kreis angezeichnet werden, der die Orientierung als Richtung und die Geschwindikeit (Pixel pro Sekunde) als Länge anzeigt.