Zur Boardunity Forenstartseite
  #1  
Alt 01.11.2010, 12:48
Mitglied
 
Registriert seit: 11.2010
Beiträge: 28

[Java] Grundbaustein Grafik in Java


// edit Ich war ein wennig zu hastig bitte Verschieben


Grundbaustein Grafik in Java


Ich möchte ihnen Heute anhand eines Quellcodes der von mir geschrieben wurde einen kleinen Einblick in die Grafik Programmierung in Java geben.

Fangen wir mit den Import an :
Code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
Diese sind zwingend notwendig für den Actionlistener Und die Grafik

So jetzt kommen wir zum eigendlichen Programm und erstellen uns die erste Klasse:
Code:
public class UnserErstesSwingFenster extends JFrame
Das extends JFrame sagt dem Compiler das es Eine Grafische Oberfläche und kein Consolen Programm wird.

Für Mein Kleines Beispiel Programm brauchen wir jetzt ein Textfield(Eingabe) und ein Text Area(Ausgabe)
Code:
JTextField    jtf_name;                    // Variable für Zugriff über Lauscher-Klasse                       
JTextArea    jta_ausgabe;
So Hier der Source vom obersten teil des GUI Konstruktor
Code:
public UnserErstesSwingFenster()   // Konstrruktor für GUI
  {
    Container cp=getContentPane();

    JLabel jl_ueberschr=new JLabel("Java");
    JLabel jl_name=new JLabel("Name");

    jtf_name=new JTextField(12);
    jta_ausgabe=new JTextArea(5,22);
In diesen Abschnitt wird erstmal ein Neuer Container Angelegt dies wird sozusagen eine Box wo alle JButtons, JLabels usw reinkommen,danach sie Später auch wirklich angezeigt werden dies ist zwingend notwendig.


In diesem Teil werden Die JButtons angelegt mein ("Ausgeben") werden JLabels auf den Buttons eingefügt um ihnen eine Bezeichnung zu geben und um sie Später besser Auseinander zu halten.
Ich habe mich Hier endschieden 3x Buttons für mein Programm zu erstellen:

Code:
JButton   jb_ausgeben=new JButton("Ausgeben");
                    jb_ausgeben.addActionListener(new Lauscher());

    JButton   jb_clear=new JButton("Clear");
                    jb_clear.addActionListener(new Lauscher());

    JButton   jb_exit=new JButton("Exit");
                    jb_exit.addActionListener(new Lauscher());
Kommen wir nun zum fast wichtigsten Teil der Java Grafik Programmierung dem JPanels diese Sorgen dafür Das der Gesamte Inhalt angezeigt wird.
Man kann seine Oberfläche in South, North, Center, West,East einteilen
Ich habe für mein Programm aber nur Das JPanel Center und South gebraucht.
mit jp_center.add(Dein Objekt); fügt man seine oben angelegten Objekte dem jeweiligen JPanels zu.
Code:
JPanel jp_center =  new JPanel();
    JPanel jp_south  =  new JPanel();

    jp_center.add(jl_name);
    jp_center.add(jtf_name);
    jp_center.add(jta_ausgabe);

    jp_south.add(jb_ausgeben);
    jp_south.add(jb_clear);
    jp_south.add(jb_exit);

    cp.add(jl_ueberschr,BorderLayout.NORTH);
    cp.add(jp_center,BorderLayout.CENTER);
    cp.add(jp_south,BorderLayout.SOUTH);
Jetzt haben wir alles erstellt. Aber die Funktion des Programms fehlt natürlich.Jetzt gebrauchen wir den Actionlistener der Erkennt wen ein Button gedrückt wird und reagiert der dem entsprechend definiert ist.
Code:
 class Lauscher implements ActionListener   // Für Funktion des Programms
  {
      public void actionPerformed(ActionEvent e)
      {
                  String button=e.getActionCommand();

      if (button.equals("Clear"))
      {
        jtf_name.setText("");
        jta_ausgabe.setText("");
      }

      if (button.equals("Ausgeben"))
      {
         String str=jtf_name.getText();
         jta_ausgabe.setText("Ihr Name lautet:\n"+str+".");
      }

      if (button.equals("Exit"))
      {
         System.exit(0);
      }
        }
Dies wird wohl nichts neues sein für welche die sich schon mit Java Consolen Programmen beschäftigt haben. Also werde ich darauf nicht weiter eingehen, hier werden die Objekte definiert und ihnen Funktionen Gegeben.

Kommen wir Zum letzen Teil der Java Grafik Programmierung:
Code:
public static void main(String[] args)   // Hauptprogramm
  {
    UnserErstesSwingFenster fenster=new UnserErstesSwingFenster();
                            fenster.setLocation (300,200);
                            fenster.setSize (300,300);
                            fenster.setDefaultCloseOperation(3);
                            fenster.setVisible(true);
Hier wird unserem Swing Fenster eine Größe zugewisen und ihm mit :
Code:
  fenster.setVisible(true);
gesagt das es angezeigt werden soll.

Voller Source:
Code:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;

public class UnserErstesSwingFenster extends JFrame
{

  JTextField    jtf_name;                    // Variable für Zugriff über Lauscher-Klasse                       
  JTextArea    jta_ausgabe;

  public UnserErstesSwingFenster()   // Konstrruktor für GUI
  {
    Container cp=getContentPane();

    JLabel jl_ueberschr=new JLabel("Java");
    JLabel jl_name=new JLabel("Name");

    jtf_name=new JTextField(12);
    jta_ausgabe=new JTextArea(5,22);

    JButton   jb_ausgeben=new JButton("Ausgeben");
                    jb_ausgeben.addActionListener(new Lauscher());

    JButton   jb_clear=new JButton("Clear");
                    jb_clear.addActionListener(new Lauscher());

    JButton   jb_exit=new JButton("Exit");
                    jb_exit.addActionListener(new Lauscher());

    JPanel jp_center =  new JPanel();
    JPanel jp_south  =  new JPanel();

    jp_center.add(jl_name);
    jp_center.add(jtf_name);
    jp_center.add(jta_ausgabe);

    jp_south.add(jb_ausgeben);
    jp_south.add(jb_clear);
    jp_south.add(jb_exit);

    cp.add(jl_ueberschr,BorderLayout.NORTH);
    cp.add(jp_center,BorderLayout.CENTER);
    cp.add(jp_south,BorderLayout.SOUTH);
}
  


 class Lauscher implements ActionListener   // Für Funktion des Programms
  {
      public void actionPerformed(ActionEvent e)
      {
                  String button=e.getActionCommand();

      if (button.equals("Clear"))
      {
        jtf_name.setText("");
        jta_ausgabe.setText("");
      }

      if (button.equals("Ausgeben"))
      {
         String str=jtf_name.getText();
         jta_ausgabe.setText("Ihr Name lautet:\n"+str+".");
      }

      if (button.equals("Exit"))
      {
         System.exit(0);
      }
        }
  }
  
 public static void main(String[] args)   // Hauptprogramm
  {
    UnserErstesSwingFenster fenster=new UnserErstesSwingFenster();
                            fenster.setLocation (300,200);
                            fenster.setSize (300,300);
                            fenster.setDefaultCloseOperation(3);
                            fenster.setVisible(true);
  }


}   // Ende Klasse des Programms UnserErstesSwingFenster
Mit diesen Kleinem Beispiel wollte ich die Java Grafik Programmierung etwas näher bringen bei Fragen stehe ich gerne Zur Verfügung.

N0ne|Administrator

Since
  #2  
Alt 28.02.2011, 10:19
hero-of-newerth
Gast
 
Beiträge: n/a
Mh ich finde Processing besser für solche Sachen

Swing und AWT naja

Antwort


Stichworte
-

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
3D-Sucher|Informationsportal für und über die Multimedia, Grafik, Web und 3D Branche. LarsF Projektvorstellung und Bewertung 0 26.10.2010 11:15
[S] Freehoster mit Java Unterstützung snakel Webspace, Webserver, Domains 1 11.11.2009 18:43
kostenloses SciFi Browserspiel mit geiler Grafik planet-nemela Projektvorstellung und Bewertung 2 02.04.2008 07:29
Vektor Grafik Unregistriert Web Design und Grafik 0 22.12.2007 18:22
Grafik oben links ausrichten geber Programmierung und Datenbanken 3 30.10.2006 19:28






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25