# GUI in Java-Layout+Bilder



## Guest (16. Jun 2007)

Hi Community,

unser Informatik-Kurs ist grad an einem Projekt, bei der ich die GUI entwickeln soll...
Allerdings habe ich noch 2 kleine Probleme...
Zum einen möchte ich eine Tabelle entwerfen wobei die ersten 7 Zeilen 2 Spalten und die 8. Zeile 1 Spalte enthält - welches Layout verwendet man am besten dafür? Und 2. wie kann man Bilder in Buttons einfügen? (soll ein kleines "Siedler-Spiel" werden) Hier ansonsten noch der bisherige Quelltext wobei das Layout halt noch nicht stimmt.


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class GUI-Projekt-Projekt extends JFrame {{

}
// Anfang Variablen
 private JTextField ausgabefeldJ, ausgabefeldK, ausgabefeldB, ausgabefeldF,
 ausgabefeldN, ausgabefeldBIG;
 private JButton buttonJaeger, buttonKrieger, buttonBauarbeiter, buttonSammeln,
 buttonFüürstelle, buttonJagd, buttonUma-Matimbahöhle, buttonKriech,
 buttonBamboocha-Höhle;
// Ende Variablen


public GUI-Projekt-Projekt(String title) {{

}
   super(title);
   setDefaultCloseOperation(EXIT_ON_CLOSE);
   setSize(800, 800);
   Container cp = getContentPane();
   cp.setLayout(new GridLayout(8,2,4,4));

   ausgabefeldJ = new JTextField("");
   cp.add (ausgabefeldJ);

   buttonJaeger = new JButton("Jaeger (ausbilden)");
   cp.add (buttonJaeger);
   buttonJaeger.addActionListener(this);

   ausgabefeldK = new JTextField("");
   cp.add (ausgabefeldK);

   buttonKrieger = new JButton("Krieger (ausbilden)");
   cp.add (buttonKrieger);
   buttonKrieger.addActionListener(this);

   ausgabefeldB = new JTextField("");
   cp.add (ausgabefeldB);

   buttonBauarbeiter = new JButton("Bauarbeiter(ausbilden)");
   cp.add (buttonBauarbeiter);
   buttonBauarbeiter.addActionListener(this);

   buttonSammeln = new JButton("Sammeln");
   cp.add (buttonSammeln);
   buttonSammeln.addActionListener(this);

   buttonFüürstelle = new JButton("Füürstelle");
   cp.add (buttonFüürstelle);
   buttonFüürstelle.addActionListener(this);

   buttonJagd = new JButton("Jachen");
   cp.add (buttonJagd);
   buttonJagd.addActionListener(this);

   buttonUma-Matimbahöhle = new JButton("Uma-Matimbahöhle");
   cp.add (buttonUma-Matimbahöhle);
   buttonUma-Matimbahöhle.addActionListener(this);

   buttonKriech = new JButton("Kriech");
   cp.add (buttonKriech);
   buttonKriech.addActionListener(this);

   buttonBamboocha-Höhle = new JButton("Bamboocha-Höhle");
   cp.add (buttonBamboocha-Höhle);
   buttonBamboocha-Höhle.addActionListener(this);

   ausgabefeldF = new JTextField("");
   cp.add (ausgabefeldF);

   ausgabefeldN = new JTextField("");
   cp.add (ausgabefeldN);

   ausgabefeldBIG = new JTextField("");
   cp.add (ausgabefeldBIG);


   setVisible(true);

 }}
 public static void main(String[] args) {
   new GUI-Projekt-Projekt("HOMO-Sapiens");
 }
```



Vielen Dank im voraus, lg, JFreezerR


----------



## anfänger15 (16. Jun 2007)

Bilder inButtons einfügen:

button.setIcon(new ImageIcon("deinbild.jpg"));

und mit dem hier solltest du dann den Rand des Buttons weg bekommen(falls du das willst);

		button.setBorder(new javax.swing.border.EmptyBorder(new java.awt.Insets(
				1, 1, 1, 1)));


----------



## Guest (17. Jun 2007)

rand wegbekommen geht mit button.setBorderPainted(false);
ist doch wesentlich einfacher als das was du vorhattest


----------



## anfänger15 (18. Jun 2007)

da hast du wohl recht


----------



## Guest (19. Jun 2007)

*hochschiebundnochaufeinelösungfürslayoutwartundishcschonmalfüralleantwortenbedankt*


----------



## m@nu (20. Jun 2007)

statt dich ins GridBagLayout einzuarbeiten (welches ich gar nicht mag), empfehle ich dir das FormLayout von jgoodies.

:arrow: http://www.jgoodies.net/freeware/forms/index.html
(hier findest du auch ein ausführliches pdf mit beispielen)


da könntest du dein layout etwa so implementieren:

```
public class FormsExample extends JFrame implements ActionListener {
    
    private JTextField ausgabefeldJ;
    private JTextField ausgabefeldK;
    private JTextField ausgabefeldB;
    private JTextField ausgabefeldF;
    private JTextField ausgabefeldN;
    private JTextField ausgabefeldBIG;

    private JButton buttonJaeger;
    private JButton buttonKrieger;
    private JButton buttonBauarbeiter;
    private JButton buttonSammeln;
    private JButton buttonFüürstelle;
    private JButton buttonJagd;
    private JButton buttonUmaMatimbahöhle;
    private JButton buttonKriech;
    private JButton buttonBamboochaHöhle;


    public FormsExample() {
        /* Vorbereiten: */
        super("HOMO-Sapiens");
        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setSize(800, 800);
        
        Container cp = getContentPane();
        cp.setLayout(new FormLayout(
                "180px,180px",      // Spalten
                "p,p,p,p,p,p,p,p"   // Zeilen (p = prefered)
                ));
   
   
        /* Components erstellen & initialisieren: */
        ausgabefeldJ = new JTextField("");

        buttonJaeger = new JButton("Jaeger (ausbilden)");        
        buttonJaeger.addActionListener(this);

        ausgabefeldK = new JTextField("");

        buttonKrieger = new JButton("Krieger (ausbilden)");
        buttonKrieger.addActionListener(this);

        ausgabefeldB = new JTextField("");
        
        buttonBauarbeiter = new JButton("Bauarbeiter(ausbilden)");
        buttonBauarbeiter.addActionListener(this);

        buttonSammeln = new JButton("Sammeln");
        buttonSammeln.addActionListener(this);

        buttonFüürstelle = new JButton("Füürstelle");
        buttonFüürstelle.addActionListener(this);

        buttonJagd = new JButton("Jachen");
        buttonJagd.addActionListener(this);

        buttonUmaMatimbahöhle = new JButton("Uma-Matimbahöhle");
        buttonUmaMatimbahöhle.addActionListener(this);

        buttonKriech = new JButton("Kriech");
        buttonKriech.addActionListener(this);

        buttonBamboochaHöhle = new JButton("Bamboocha-Höhle");
        buttonBamboochaHöhle.addActionListener(this);

        ausgabefeldF = new JTextField("");
        ausgabefeldN = new JTextField("");
        ausgabefeldBIG = new JTextField("");
        
        /* Components anordnen: */
        CellConstraints cc = new CellConstraints();
        cp.add(ausgabefeldJ,            cc.xy(1, 1));
        cp.add(buttonJaeger,            cc.xy(2, 1));
        cp.add(ausgabefeldK,            cc.xy(1, 2));
        cp.add(buttonKrieger,           cc.xy(2, 2));
        cp.add(ausgabefeldB,            cc.xy(1, 3));
        cp.add(buttonBauarbeiter,       cc.xy(2, 3));
        cp.add(buttonSammeln,           cc.xy(1, 4));
        cp.add(buttonFüürstelle,        cc.xy(2, 4));
        cp.add(buttonJagd,              cc.xy(1, 5));
        cp.add(buttonUmaMatimbahöhle,   cc.xy(2, 5));
        cp.add(buttonKriech,            cc.xy(1, 6));
        cp.add(buttonBamboochaHöhle,    cc.xy(2, 6));
        cp.add(ausgabefeldF,            cc.xy(1, 7));
        cp.add(ausgabefeldN,            cc.xy(2, 7));
        cp.add(ausgabefeldBIG,          cc.xyw(1, 8, 2));
        
        
        /* Frame anzeigen: */
        setVisible(true);
    }
    
    
    // ActionListener-Implementierung ------------------------------------------
    public void actionPerformed(ActionEvent e) {
        // Button-Aktionen implementieren
    }
    
    
    // Testcode ----------------------------------------------------------------
    public static void main(String[] args) {
       new FormsExample();
    }
}
```


zugegeben, für diesen fall hier ist das ganze vielleicht ein wenig überdimensioniert. falls du später aber evtl. komplexere gui's basteln willst/musst, bist du mit der Forms-library relativ gut bedient.

btw. sieht dann so aus:


----------



## Guest (24. Jun 2007)

Hi m@nu,

vielen Dank dir, genauso soll es später aussehen... 
Das Problem ist nur, dass ich die GUI leider im Grid(back?)layout erstellen muss... :-(
Kennt dafür noch jemand eine Lösung?
Und noch 2 weitere Fragen:
Wäre es möglich über die ganze GUI ein HIntergrundbild einzurichten und gibt es eine Funktion die die eingefügten Bilder genau passend in die Buttons integriert?

Danke weiterhin im voraus, lg, JFreezerR


----------



## m@nu (25. Jun 2007)

die verschieden "langen" zellen sind meines wissens nur mit dem GridLayout nicht realisierbar. da muss schon das GridBagLayout her...
leider habe ich mich mit dem GridBagLayout nur in ansätzen früher in der schule mal beschäftigt... war mir zu umständlich 

bei sun gibts aber entsprechende tutorial dazu
:arrow: api: http://java.sun.com/j2se/1.4.2/docs/api/java/awt/GridBagLayout.html
:arrow: tutorial: http://java.sun.com/docs/books/tutorial/uiswing/layout/gridbag.html


du willst ein hintergrundbild haben? "über" der ganze gui? im hintergrund? nur auf einem einzelnen button?
bitte beschreib doch mal genauer...


----------



## Guest (26. Jun 2007)

Hi!

Darf die GUI nun doch im FormLayout erstellen   
Doch habe ich nun ein weiteres Problem - benutze den JavaEditor und er will den Quelltext irgendwie nicht kompilieren :-( Woran kann das liegen?

Das Hintergrundbild sollte über die "ganze" GUI verlaufen (also bei dem Beispielbild jetzt, in dem Bereich unter dem letzten Ausgabefeld), falls dies möglich ist


----------



## Guest (26. Jun 2007)

Darf die GUI nun doch im FormLayout erstellen   
Doch habe ich nun ein weiteres Problem - benutze den JavaEditor und er will den Quelltext irgendwie nicht kompilieren :-( Woran kann das liegen?

Das Hintergrundbild sollte über die "ganze" GUI verlaufen (also bei dem Beispielbild jetzt, in dem Bereich unter dem letzten Ausgabefeld), falls dies möglich ist


----------



## Guest (26. Jun 2007)

und das mit den Bildern in den Buttons war so gemeint, dass das Bild den ganzen Button ausfüllt (selbst passend auf die größe eingestellt wird und die Schrift darüber ist, also auch eine Art Hintergrundbild in den Buttons)


----------



## m@nu (26. Jun 2007)

du brauchst natürlich noch die oben beschriebene library:
:arrow: http://www.jgoodies.net/freeware/forms/index.html 

dieses jar-file muss im classpath vorhanden sein. ansonsten findet java das FormLayout und die dazugehörigen klassen gar nicht.
hast du bereits erfahrung mit externen libraries?
desweiteren sind bei meinem sourcecode oben keine imports dabei. benutzt du eclipse?
ansonsten wäre ein stacktrace/fehlermeldung natürlich immer top, wenn code nicht kompiliert 

hmm, hierzu müsstest du am ehsten einen JPanel so erweitern, dass der ein hintergrundbild anzeigt.

beispiel:

```
class BildJPanel extends JPanel {
    Image bild;

    public BildJPanel(Image bild) {
        this.bild = bild;
    }

    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(bild, 0,0, null);
    }
}
```


----------



## Guest (26. Jun 2007)

Nein, habe bisher leider keine Erfahrung mit externen Libraries :-(
Das Problem bei dem jar-File ist, dass in dem Ordner in dem meine andern Klassen sind, alle die Endung .java besitzen - nehme an, dass die .jar Datei am besten auch in eine.java Datei umgewandelt werden sollte...

Damit du dir vlt einen kleinen Einblick über mein "Java-Wissen" machen kannst - habe alle Infos hauptsächlich von:
http://www.pohlig.de/Informatik/JavaUmgebung/index.htm also damit erstelle ich immer meine Java-Progs
und so eine GUI haben wir mal in der Schule erstellt - also die RechnerGUIMathematik: http://www.pohlig.de/Unterricht/Inf2005/Kap08/8.2.1_J_Frame_Vatriante.htm

Nein, denke nicht das ich Eclipse verwende 

und das sind meine Fehlermeldungen - liegt höchstwahrschenlich halt daran, dass er nicht auf die Klasse zugreifen kann:

42 errors

Compiliere C:\Programme\Java\jdk1.5.0_10\jre\bin\java\FormsExample.java mit Java-Compiler
FormsExample.java:1:35: cannot find symbol
symbol: class JFrame
public class FormsExample extends JFrame implements ActionListener {
                                                                         ^
FormsExample.java:1:53: cannot find symbol
symbol: class ActionListener
public class FormsExample extends JFrame implements ActionListener {
                                                                                                                  ^
FormsExample.java:3:13: cannot find symbol
symbol  : class JTextField
location: class FormsExample
    private JTextField ausgabefeldJ;
                   ^
FormsExample.java:4:13: cannot find symbol
symbol  : class JTextField
location: class FormsExample
    private JTextField ausgabefeldK;
                   ^
FormsExample.java:5:13: cannot find symbol
symbol  : class JTextField
location: class FormsExample
    private JTextField ausgabefeldB;
                   ^
FormsExample.java:6:13: cannot find symbol
symbol  : class JTextField
location: class FormsExample
    private JTextField ausgabefeldF;
                   ^
FormsExample.java:7:13: cannot find symbol
symbol  : class JTextField
location: class FormsExample
    private JTextField ausgabefeldN;
                   ^
FormsExample.java:8:13: cannot find symbol
symbol  : class JTextField
location: class FormsExample
    private JTextField ausgabefeldBIG;
                   ^
FormsExample.java:10:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonJaeger;
                   ^
FormsExample.java:11:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonKrieger;
                   ^
FormsExample.java:12:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonBauarbeiter;
                   ^
FormsExample.java:13:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonSammeln;
                   ^
FormsExample.java:14:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonFüürstelle;
                   ^
FormsExample.java:15:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonJagd;
                   ^
FormsExample.java:16:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonUmaMatimbahöhle;
                   ^
FormsExample.java:17:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonKriech;
                   ^
FormsExample.java:18:13: cannot find symbol
symbol  : class JButton
location: class FormsExample
    private JButton buttonBamboochaHöhle;
                   ^
FormsExample.java:97:33: cannot find symbol
symbol  : class ActionEvent
location: class FormsExample
    public void actionPerformed(ActionEvent e) {
                                                              ^
FormsExample.java:24:34: cannot find symbol
symbol  : variable EXIT_ON_CLOSE
location: class FormsExample
        setDefaultCloseOperation(EXIT_ON_CLOSE);
                                                              ^
FormsExample.java:25:9: cannot find symbol
symbol  : method setSize(int,int)
location: class FormsExample
        setSize(800, 800);
        ^
FormsExample.java:27:9: cannot find symbol
symbol  : class Container
location: class FormsExample
        Container cp = getContentPane();
         ^
FormsExample.java:27:24: cannot find symbol
symbol  : method getContentPane()
location: class FormsExample
        Container cp = getContentPane();
                                      ^
FormsExample.java:28:26: cannot find symbol
symbol  : class FormLayout
location: class FormsExample
        cp.setLayout(new FormLayout(
                                            ^
FormsExample.java:35:28: cannot find symbol
symbol  : class JTextField
location: class FormsExample
        ausgabefeldJ = new JTextField("");
                                                 ^
FormsExample.java:37:28: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonJaeger = new JButton("Jaeger (ausbilden)");
                                                ^
FormsExample.java:40:28: cannot find symbol
symbol  : class JTextField
location: class FormsExample
        ausgabefeldK = new JTextField("");
                                                  ^
FormsExample.java:42:29: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonKrieger = new JButton("Krieger (ausbilden)");
                                                ^
FormsExample.java:45:28: cannot find symbol
symbol  : class JTextField
location: class FormsExample
        ausgabefeldB = new JTextField("");
                                                  ^
FormsExample.java:47:33: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonBauarbeiter = new JButton("Bauarbeiter(ausbilden)");
                                                         ^
FormsExample.java:50:29: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonSammeln = new JButton("Sammeln");
                                                     ^
FormsExample.java:53:32: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonFüürstelle = new JButton("Füürstelle");
                                                     ^
FormsExample.java:56:26: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonJagd = new JButton("Jachen");
                                            ^
FormsExample.java:59:37: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonUmaMatimbahöhle = new JButton("Uma-Matimbahöhle");
                                                                        ^
FormsExample.java:62:28: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonKriech = new JButton("Kriech");
                                              ^
FormsExample.java:65:36: cannot find symbol
symbol  : class JButton
location: class FormsExample
        buttonBamboochaHöhle = new JButton("Bamboocha-Höhle");
                                                                      ^
FormsExample.java:68:28: cannot find symbol
symbol  : class JTextField
location: class FormsExample
        ausgabefeldF = new JTextField("");
                                                  ^
FormsExample.java:69:28: cannot find symbol
symbol  : class JTextField
location: class FormsExample
        ausgabefeldN = new JTextField("");
                                                  ^
FormsExample.java:70:30: cannot find symbol
symbol  : class JTextField
location: class FormsExample
        ausgabefeldBIG = new JTextField("");
                                                      ^
FormsExample.java:73:9: cannot find symbol
symbol  : class CellConstraints
location: class FormsExample
        CellConstraints cc = new CellConstraints();
         ^
FormsExample.java:73:34: cannot find symbol
symbol  : class CellConstraints
location: class FormsExample
        CellConstraints cc = new CellConstraints();
                                                          ^
FormsExample.java:92:9: cannot find symbol
symbol  : method setVisible(boolean)
location: class FormsExample
        setVisible(true);
        ^
41 errors


----------



## m@nu (27. Jun 2007)

*imports*
dir fehlen die import-statements. darum findet der compiler die klassen nicht (cannot find symbol)

das hier sind die passenden import statements:

```
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

import com.jgoodies.forms.layout.CellConstraints;
import com.jgoodies.forms.layout.FormLayout;
```

eclipse ist eine andere entwicklungsumgebung für java. aber zu beginn ist ein einfacheres tool sicher besser 
wollte nur wissen, ob du diese umgebung verwendest, da man dort (natürlich auch in anderen editoren) die imports automatisch generieren lassen kann.


*jar*
ein jar-file ist technisch gesehen nichts anderes als eine zip-datei, welche bereits kompilierte java class-files enthält. deshalb ist es nicht nötig, irgendetwas am dateinamen zu ändern. du muss java lediglich darauf hinweisen, dass es in der entsprechenden datei nach class-files suchen soll. dies wird wiederum im classpath festgelegt.

schau in deinem editor mal in die konfiguration...
auf der seite, die du mir angegeben hast, steht unter "Konfiguration des Javaeditors" folgendes:


> Zusätzliche Classpaths werden immer mit Semikola von einander getrennt. Das Einfügen von ..\;..\..\;..\..\..\ ist sinnvoll wenn man mit Paketen arbeiten will.



trag in dem beschriebenen feld zusätzlich den pfad zur jar-datei vom FormsLayout ein... dann sollte eigentlich alles bereit sein, um zu kompilieren.


----------



## Guest (27. Jun 2007)

und schon wieder einen Schritt weiter, Danke 

Nun sinds aber immer noch 5 Fehler wegen der Klasse:

Compiliere C:\Programme\Java\jdk1.5.0_10\jre\bin\java\FormsExample.java mit Java-Compiler
FormsExample.java:9:21: package forms.layout does not exist
import forms.layout.CellConstraints;
                                       ^
FormsExample.java:10:21: package forms.layout does not exist
import forms.layout.FormLayout;
                                       ^
FormsExample.java:39:26: cannot find symbol
symbol  : class FormLayout
location: class FormsExample
        cp.setLayout(new FormLayout(
                                            ^
FormsExample.java:84:9: cannot find symbol
symbol  : class CellConstraints
location: class FormsExample
        CellConstraints cc = new CellConstraints();
         ^
FormsExample.java:84:34: cannot find symbol
symbol  : class CellConstraints
location: class FormsExample
        CellConstraints cc = new CellConstraints();
                                                          ^
5 errors



Habe schon etwas in den Konfigs rumgespielt und probiert das Layout zu impoertieren - klappt aber leider noch nicht :-(


----------



## m@nu (27. Jun 2007)

hm, wenn das mit dem import des jar-files nicht korrekt vonstatten geht, dann ist klar des der compiler die klassen vom FormLayout nicht findet...

wie kompilierst du denn? direkt in der kommandozeile? oder gibts da in deinem java editor irgendwo einen befehl?


----------



## Guest (27. Jun 2007)

Muss im JavaEditor einfach nur ein Icon anklicken, dann kompiliert er von alleine...



			
				m@nu hat gesagt.:
			
		

> hm, wenn das mit dem import des jar-files nicht korrekt vonstatten geht, dann ist klar des der compiler die klassen vom FormLayout nicht findet...
> 
> wie kompilierst du denn? direkt in der kommandozeile? oder gibts da in deinem java editor irgendwo einen befehl?


----------



## m@nu (27. Jun 2007)

dann bleibt dir nur das experimentieren mit der oben genannten einstellung, bis der dann die jar auch findet :-/
was hast du denn dort eingetragen?


----------



## Guest (28. Jun 2007)

Jar: C:\Programme\Java\jdk1.5.0_11\bin\jar.exe
Parameter: -cfv
Dateien: *.class


----------



## m@nu (29. Jun 2007)

nene! das ist der falsche ort... da ist nur das zeugs drin, welche zum erstellen eigener jar's helfen...

du musst beim register "interpreter" den pfad zur jar vom FormsLayout im feld "user classpath" ergänzen...
also z.b. "C:\Jars\forms.jar" hinzufügen (semikolon zum trennen nicht vergessen.)


----------



## Guest (30. Jun 2007)

Und wieder eine Änderung... ;-)

Habe herausgefunden, dass es leider nicht möglich ist, diese Layout zu verwenden, da wir in der Schule eine zu alte Java Version besitzen :-( Habe dafür aber eine andere Möglichkeit gefunden, wobei ich dazu noch eine frage habe:


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Projekt extends JFrame {
// Anfang Variablen
  private JPanel northPanel, centerPanel;
  private JTextField ausgabefeldJ, ausgabefeldK, ausgabefeldB, ausgabefeldF,
  ausgabefeldN, ausgabefeldBIG;
  private JButton buttonJaeger, buttonKrieger, buttonBauarbeiter, buttonSammeln,
  buttonFüürstelle, buttonJagd, buttonUma_Matimbahöhle, buttonKriech,
  buttonBamboocha_Höhle;
  private JLabel labelausgabefeldF, labelausgabefeldN;
// Ende Variablen


public Projekt(String title) {
    super(title);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(800, 800);
    Container cp = getContentPane();
    cp.setLayout(new BorderLayout());

    northPanel = new JPanel (new GridLayout(8,2,2,2));
    cp.add(northPanel, BorderLayout.NORTH);

    centerPanel = new JPanel (new GridLayout(1,1,2,2));
    cp.add (centerPanel, BorderLayout.CENTER);

    ausgabefeldJ = new JTextField("");
    northPanel.add (ausgabefeldJ);

    buttonJaeger = new JButton("Jaeger (ausbilden)");
    northPanel.add (buttonJaeger);
    buttonJaeger.setIcon(new ImageIcon("Jaeger.jpg"));


    ausgabefeldK = new JTextField("");
    northPanel.add (ausgabefeldK);

    buttonKrieger = new JButton("Krieger (ausbilden)");
    northPanel.add (buttonKrieger);
    buttonKrieger.setIcon(new ImageIcon("Krieger.jpg"));

    ausgabefeldB = new JTextField("");
    northPanel.add (ausgabefeldB);

    buttonBauarbeiter = new JButton("Bauarbeiter(ausbilden)");
    northPanel.add (buttonBauarbeiter);
    buttonBauarbeiter.setIcon(new ImageIcon("Bauarbeiter.jpg"));

    buttonSammeln = new JButton("Sammeln");
    northPanel.add (buttonSammeln);
    buttonSammeln.setIcon(new ImageIcon("Sammeln.jpg"));

    buttonFüürstelle = new JButton("Füürstelle");
    northPanel.add (buttonFüürstelle);
    buttonFüürstelle.setIcon(new ImageIcon("Feuerstelle.jpg"));

    buttonJagd = new JButton("Jachen");
    northPanel.add (buttonJagd);
    buttonJagd.setIcon(new ImageIcon(" Jagen.jpg"));

    buttonUma_Matimbahöhle = new JButton("Uma-Matimbahöhle");
    northPanel.add (buttonUma_Matimbahöhle);
    buttonUma_Matimbahöhle.setIcon(new ImageIcon("Umamatimba.jpg "));

    buttonKriech = new JButton("Kriech");
    northPanel.add (buttonKriech);
    buttonKriech.setIcon(new ImageIcon("Kriech.jpg"));

    buttonBamboocha_Höhle = new JButton("Bamboocha-Höhle");
    northPanel.add (buttonBamboocha_Höhle);
    buttonBamboocha_Höhle.setIcon(new ImageIcon("Bamboocha.jpg"));


    labelausgabefeldF = new JLabel("Anzahl Felle:    ");
    labelausgabefeldF.setHorizontalAlignment(SwingConstants.RIGHT);
    northPanel.add(labelausgabefeldF);
    ausgabefeldF = new JTextField("");
    northPanel.add (ausgabefeldF);


    labelausgabefeldN = new JLabel("Anzahl Nahrung:    ");
    labelausgabefeldN.setHorizontalAlignment(SwingConstants.RIGHT);
    northPanel.add(labelausgabefeldN);

    ausgabefeldN = new JTextField("");
    northPanel.add (ausgabefeldN);

    ausgabefeldBIG = new JTextField("");
    centerPanel.add (ausgabefeldBIG);


    setVisible(true);

  }
  public static void main(String[] args) {
    new Projekt("HOMO-Sapiens");
  }}
```

Und zwar würde ich es gerne schaffen, dass sich die Bilder an die Buttongröße anpassen und 2. dass das letzte JLabelTextfield-ausgabefeldBIG eine "normale" Größe einnimmt und nicht einfach den ganzen Rest des Fensters - gibt es da eine Möglichkeit die Größe des Ausgabefeldes festzulegen?


----------



## Guest (2. Jul 2007)

*hochschieb*


----------



## Guest (6. Jul 2007)

hab jetzt alles hinbekommen wie ichs wollte, Danke nochmal an alle die mir geholfen haben!


----------



## m@nu (9. Jul 2007)

ui, hab den thread ganz vergessen... sry.
super wenn aber doch noch alles geklappt hat


----------

