GUI in Java-Layout+Bilder

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
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.

Code:
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
 
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)));
 
rand wegbekommen geht mit button.setBorderPainted(false);
ist doch wesentlich einfacher als das was du vorhattest 😉
 
*hochschiebundnochaufeinelösungfürslayoutwartundishcschonmalfüralleantwortenbedankt*
 
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:
Code:
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:
FormsExample.PNG
 
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
 
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... 🙂
 
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
 
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
 
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)
 
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:
Code:
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);
    }
}
 
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
 
imports
dir fehlen die import-statements. darum findet der compiler die klassen nicht (cannot find symbol)

das hier sind die passenden import statements:
Code:
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.
 
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 :-(
 
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?
 
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?
 
dann bleibt dir nur das experimentieren mit der oben genannten einstellung, bis der dann die jar auch findet :-/
was hast du denn dort eingetragen?
 
Jar: C:\Programme\Java\jdk1.5.0_11\bin\jar.exe
Parameter: -cfv
Dateien: *.class
 
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.)
 
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:

Code:
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?
 
hab jetzt alles hinbekommen wie ichs wollte, Danke nochmal an alle die mir geholfen haben!
 
ui, hab den thread ganz vergessen... sry.
super wenn aber doch noch alles geklappt hat 🙂
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben