Pumi4

Untitled
Verfügbare Informationen zu "Pumi4"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Florian
  • Forenurl: Klick
  • aus dem Unterforum: PUM - Tutorien
  • Antworten: 1
  • Forum gestartet am: Samstag 11.11.2006
  • Sprache: deutsch
  • Link zum Originaltopic: Pumi4
  • Letzte Antwort: vor 16 Jahren, 3 Monaten, 17 Tagen, 1 Stunde, 52 Minuten
  • Alle Beiträge und Antworten zu "Pumi4"

    Re: Pumi4

    Florian - 10.12.2006, 14:27

    Pumi4
    Hier nun der neueste Streich ...

    Hierbei handelt es sich nur um die Components darstellung da nur diese bearbeitet werden sollte ... :lol:

    package ÜB;

    import java.awt.Graphics;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import javax.imageio.ImageIO;
    import javax.swing.JComponent;
    import java.awt.Color;
    import java.awt.*;
    import java.net.*;

    /**
    * Diese Klasse beschreibt das Zeichenpanel.
    * Sie erbt von JComponent so das man sie leicht in einen JFrame integrieren
    * kann. Ihr sollt nun im wesentlichen die Methode "JComponent.paint(Graphics)"
    * überschreiben.
    *
    * @author Christian Wasserthal, Lars Stockmann, [your name here :)]
    */
    public class GraphicsComponent extends JComponent{

    // Diese Variable könnt ihr erstmal ignorieren.
    private static final long serialVersionUID = 1L;

    public final String STR_IMAGE_LOCAL = "C:/Dagons REICH/Universität/EAD I/Eclipse Workspace/my_picture.png";
    public final String STR_IMAGE_URL = "http://www.gnu.org/graphics/gnu-head-banner.png";
    public final String STR_IMAGE_URL2 = "http://abutalib.indysla.iupui.edu/~asimmon/images/smile.jpg";
    BufferedImage Picture1;
    BufferedImage Picture2;
    BufferedImage Picture3;
    public GraphicsComponent(){
    // Wenn ihr globale Variablen für eure Animation braucht oder Bilder
    // laden wollt, solltet ihr das hier tun, damit es nicht bei jedem
    // repaint neu geladen werden muss.
    Picture1 = loadOnlineImage(STR_IMAGE_URL2);
    Picture2 = loadOnlineImage(STR_IMAGE_URL);
    Picture3 = loadLocalImage(STR_IMAGE_LOCAL);





    }

    @Override public void paint(Graphics g){

    // Die folgende Zeile ruft die überschriebene Methode auf. Das ist in
    // den meisten Fällen Empfehlenswert. In diesem Fall sorgt es zum
    // Beispiel dafür, dass die Hintergrundfarbe eurer JComponent sich dem
    // Look and Feel (Theme) des Frames anpasst.
    super.paint(g);

    /* TODO
    * Benutze das Grapphics Objekt g und zeichne mindestens eine Linie, einen
    * Kreis.
    */
    g.setColor(Color.BLACK);
    g.drawLine(20, 20, 200, 150);
    g.drawLine(230,150,410,20);
    g.drawOval(90, 100, 40, 40);
    g.drawOval(300, 100, 40, 40);
    g.drawOval(185, 170, 60, 60);
    g.drawLine(80, 260, 350, 260);
    //g.drawImage(this.Picture1, 170, 270, 100, 100, this);
    //g.drawImage(this.Picture2, 170, 370, 100, 100, this);
    g.drawImage(this.Picture3, 170, 20, 100, 100, this);



    /* TODO
    * Zeichne ein Bild aus dem Internet (z.B. STR_IMAGE_URL).
    * Implementiere dazu (in Anlehnung an "loadLocalImage(String)") eine
    * Methode zum laden von Bildern aus dem Internet.
    */

    }

    /**
    * Diese Methode lädt ein Bild (BufferedImage) aus einer lokalen Datei.
    * Beim lesen von Dateien können die verschiedensten Fehler auftreten. Die
    * Datei könnte nicht existieren oder sie existiert aber eigentlich ist es
    * ein Ordner. Oder ihr habt keine Zugriffsrechte auf die Datei. All diese
    * Fehler lassen sich unter dem Begriff IOException (Ein-Ausgabe-Ausnahme)
    * zusammenfassen.
    * Tritt ein solcher Fehler in einer Methode (z.B. "ImageIO.read(File)")
    * auf, so wird die Abarbeitung gestoppt, und eine IOException geworfen.
    * Wenn diese nicht aufgefangen wird, so würde auch die Methode in der
    * "ImageIO.read(File)" aufgerufen wurde den Fehler propagieren.
    * Das ist aber hier nicht erwünscht. Darum fangen wir die Exception mit
    * "catch" ab und führen eine Ausnahmebehandlung durch.
    * Wenn in dem "try" Bereich keine IOExcpetion geworfen wird, wird der
    * "catch"-Block nicht ausgeführt.
    *
    * @param filename Bezeichnet den Dateinamen (samt Pfad) des zu ladenden
    * Bildes.
    * @return Ein BufferedImage.
    */
    private BufferedImage loadLocalImage(String filename){
    try{
    return ImageIO.read(new File(filename));
    }
    catch(IOException e){
    System.err.println("Fehler beim laden des lokalen Bildes "
    + filename + ": "+e.getMessage());
    return null;
    }
    }

    /**
    * Diese Methode wird von dem Button "Single Step" oder dem Timer
    * aufgerufen, der mit "Start Animation" aktiviert wird.
    */
    public void animate(){
    /* TODO (für überflieger)
    *
    * Wenn ihr auf "Single Step" oder "Start Animation" klickt, wird jedes
    * mal bevor neu gezeichnet wird diese Methode aufgerufen. Diese
    * Tatsache könnt ihr benutzen um eine kleine Animation zu realisieren.
    */



    }
    private BufferedImage loadOnlineImage(String filename){
    URL url=null;
    try{
    url=new URL (filename);
    }
    catch(IOException e) {System.out.println("Ungültige URL");}

    try{

    return ImageIO.read(url);
    }
    catch(IOException e){
    System.err.println("Fehler beim laden des lokalen Bildes "
    + filename + ": "+e.getMessage());
    return null;
    }
    }


    }



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum Untitled

    Pumi3 - gepostet von David am Dienstag 21.11.2006
    ENDLICH EIN FORUM - gepostet von David am Dienstag 14.11.2006



    Ähnliche Beiträge wie "Pumi4"