# Fragen zu Button



## experto2000 (10. Aug 2009)

Hallo,

Ich habe ein Problem da ich Tutorials habe und die leider alle auf Version 1.5 aber ich habe 1.6 und jetzt geht der meiste teil nicht wie mach ich ein Buttom mit Position ändern und Größe und der zu einer class wächselt?
Und noch net Frage wie mach ich die Farbe von einem Text?

MfG


----------



## Gonzo17 (10. Aug 2009)

experto2000 hat gesagt.:


> Hallo,
> 
> Ich habe ein Problem da ich Tutorials habe und die leider alle auf Version 1.5 aber ich habe 1.6 und jetzt geht der meiste teil nicht



Was für Tutorials denn? Was genau geht nicht?



experto2000 hat gesagt.:


> wie mach ich ein Buttom mit Position ändern und Größe und der zu einer class wächselt?



Du meinst wohl einen Button, oder? Kommt jetzt aber auch ganz drauf an, ob du dich in SWT bewegst oder in SWING oder wie auch immer. So ganz ohne Infos kann man nur rumraten. Und was du mit "der zu einer class w*ä*chselt" meinst, kann ich mir nicht so wirklich vorstellen.




experto2000 hat gesagt.:


> Und noch net Frage wie mach ich die Farbe von einem Text?



Ja kommt jetzt auch wieder drauf an, welche Komponente du verwendest. Solls der Text auf dem Button sein oder von einem Label oder... da gibts dutzende verschiedene Möglichkeiten, was du meinen könntest.


----------



## experto2000 (10. Aug 2009)

Gonzo17 hat gesagt.:


> Was für Tutorials denn? Was genau geht nicht?
> 
> 
> 
> ...



1.Crazy Team - Crazy Java User Group - Java Kurs - Inhaltsverzeichnis so gut wie jedes zweites.

2.Ja meine ich also wein JButtom den ich mit der größe anpassen kann und die Position auch und wenn man ihn anklicklt soll er zu einer anderen *Edit lesen wechseln.

3.JLabel


----------



## experto2000 (10. Aug 2009)

Sry das ich mir nicht sicher bin wie man Funktionenkette abtreten also zu einer bestimmten Funktion ausführen das reicht.


----------



## experto2000 (10. Aug 2009)

Kann mir auch einer Helfen oder geht das garnicht was ich will


----------



## SlaterB (10. Aug 2009)

inhaltslose Postings bitte nur einmal am Tag, nicht alle 15 Min. an dein Thema erinnern

> soll er zu einer anderen *Edit lesen wechseln

sowas ist immer noch unverständlich,
poste ein Testprogramm und beschreibe einen Fehler


----------



## experto2000 (10. Aug 2009)

```
game.java:26: cannot find symbol         
symbol  : variable login                 
location: class game                     
        login = new JButton("Zum Login");
        ^                                
game.java:27: cannot find symbol
symbol  : variable login
location: class game
        login.setSize(88, 24);
        ^
game.java:28: cannot find symbol
symbol  : variable login
location: class game
        login.setBorderPainted(false);
        ^
game.java:29: cannot find symbol
symbol  : variable Login
location: class game
        oMainWindow.add(Login);
                        ^
4 errors
```
und der Script

```
/*
Programm: game.java
Version: 1
*/
	

import java.awt.Font;
import javax.swing.*;
public class game
{
    public static void main(String args[])
    {
        JFrame oMainWindow=new JFrame("World of War");
        oMainWindow.setSize(1280,768);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        oMainWindow.setVisible(true);
        //oMainWindow.activeCaptionText();
        JLabel hallo=new JLabel("World of War");
	hallo.setHorizontalAlignment(JLabel.CENTER);
	hallo.setVerticalAlignment(JLabel.TOP);
        //hallo.setForeground( Color.BLUE );
	Font font = new Font("6809 Chargen", Font.BOLD + Font.ITALIC , 60);
        hallo.setFont(font);
        hallo.setVisible(true);
        oMainWindow.add(hallo);
	login = new JButton("Zum Login");
        login.setSize(88, 24);
        login.setBorderPainted(false);
        oMainWindow.add(Login);
	JComboBox Server=new JComboBox();
	Server.addItem("Server1 - Deutsch");
	Server.addItem("Server2 - English");
	Server.addItem("Server3 - Deutsch");
        //Soll vom Buttom ausgeführt oMainWindow.add(Server);
    }
}
```
und noch ein Befehl soll beim Button login hinzukommen nähmlich dass er die Funktion oMainWindow.add(Server); ausführt.


----------



## Atze (10. Aug 2009)

in welcher zeile wird login denn deklariert?


----------



## experto2000 (10. Aug 2009)

26
[JAVA=26]login = new JButton("Zum Login");
login.setSize(88, 24);
login.setBorderPainted(false);
[/code]


----------



## bygones (10. Aug 2009)

ja musst schon sagen um was es sich handelt

```
JButton login = new JButton("...");
```


----------



## experto2000 (10. Aug 2009)

Danke jetzt kommen schonmal keine Fehler mehr aber der Button führt noch kein anderen Befehl aus und irgendwie ist er auch das ganze Fenster Groß und somit sehe ich die Überschrift nicht.


----------



## bygones (10. Aug 2009)

experto2000 hat gesagt.:


> Danke jetzt kommen schonmal keine Fehler mehr aber der Button führt noch kein anderen Befehl aus


von selbst macht keiner was ;-)

schau dir ActionListener an, den musst du deinem button hinzufuegen damit er auch was tut...



experto2000 hat gesagt.:


> irgendwie ist er auch das ganze Fenster Groß


auch nicht sehr verwunderlich wenn du [c]oMainWindow.setSize(1280,768);[/c] setzt... das scheint ja die komplette Aufloesung zu sein... mach mal 600x400 oder was auch immer - jdf kleiner


----------



## experto2000 (10. Aug 2009)

DAs Fenster soll ja auch aber der Button nicht


----------



## Schandro (10. Aug 2009)

> irgendwie ist er auch das ganze Fenster Groß und somit sehe ich die Überschrift nicht


Liegt am standard-Layout des JFrames. (BorderLayout)
Les dir mal ein bisschen was über Layoutmanager durch, dann weißt du wie man Componenten in Java richtig platziert bzw. die Größe definiert


----------



## experto2000 (10. Aug 2009)

Gleich vllt.
Ich habe geschauen und zumteil herausgefunden wie es geht aber irgedwo liegt mein Fehler
[Java]
/*
Programm: game.java
Version: 1
*/


import java.awt.Font;
import javax.swing.*;
public class game
{
    public static void main(String args[])
    {
        JFrame oMainWindow=new JFrame("World of War");
        oMainWindow.setSize(1280,768);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        oMainWindow.setVisible(true);
        //oMainWindow.activeCaptionText();
        JLabel hallo=new JLabel("World of War");
	hallo.setHorizontalAlignment(JLabel.CENTER);
	hallo.setVerticalAlignment(JLabel.TOP);
        //hallo.setForeground( Color.BLUE );
	Font font = new Font("6809 Chargen", Font.BOLD + Font.ITALIC , 60);
        hallo.setFont(font);
        hallo.setVisible(true);
        oMainWindow.add(hallo);
	JButton login = new JButton("Zum Login");
        login.setSize(88, 24);
        oMainWindow.add(login);
	JComboBox Server=new JComboBox();
	Server.addItem("Server1 - Deutsch");
	Server.addItem("Server2 - English");
	Server.addItem("Server3 - Deutsch");
        //Soll vom Buttom ausgeführt oMainWindow.add(Server);
        login.AddActionListener(oMainWindow.add(Server));
    }
}
[/code]
und der Error:

```
game.java:34: cannot find symbol
symbol  : method AddActionListener(java.awt.Component)
location: class javax.swing.JButton
        login.AddActionListener(oMainWindow.add(Server));
             ^
1 error
```
[/Code]


----------



## icarus2 (10. Aug 2009)

Erstens eine falscher Methodenname. Es heisst deinObjekt.addActionListener(). Zweitens musst du noch das Package java.awt.event.ActionListener importieren.

Mein Tipp:
Erstmal ein Buch zur Hand nehmen und fleissig darin lesen. Oder das gratis Onlinebuch von Galileo lesen.


----------



## FatFire (10. Aug 2009)

*STOP!*
Du machst hier gerade einen gaaaanz groben Fehler. Wenn man Dir ein Stichwort zuschmeisst, dann schlag es nach und lies es Dir durch (immer noch in der Insel oder im Javabuch). Nicht einfach irgendwas eintippen und hoffen, dass es funktioniert. Lesen, begreifen, dann programmieren. Sonst haben wir hier ganz schnell wieder einen Developer_X.
Und nimm es jetzt schon einmal hin: Programmieren lernt man nicht in einer Woche (und Java nicht in 28 Tagen, auch wenn ein Buch das Gegenteil behauptet).

Gruß FatFire

PS: Java ist Case-Sensitiv, also auf Groß- und Kleinschreibung achten.

Edit: Maaan, geht ja so schnell wie in einem Chat hier ;(


----------



## experto2000 (10. Aug 2009)

Habe ich durch gelesen!!! Nur leider habe ich nur ein example auf Englisch gefunden und ich bin erst in der 6sten. Das heißt das ich Englisch noch net gut kann.


----------



## experto2000 (10. Aug 2009)

Und es geht immer noch nicht jetziger Code:

```
/*
Programm: game.java
Version: 1
*/
	

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class game
{
    public static void main(String args[])
    {
        JFrame oMainWindow=new JFrame("World of War");
        oMainWindow.setSize(1280,768);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        oMainWindow.setVisible(true);
        //oMainWindow.activeCaptionText();
        JLabel hallo=new JLabel("World of War");
	hallo.setHorizontalAlignment(JLabel.CENTER);
	hallo.setVerticalAlignment(JLabel.TOP);
        //hallo.setForeground( Color.BLUE );
	Font font = new Font("6809 Chargen", Font.BOLD + Font.ITALIC , 60);
        hallo.setFont(font);
        hallo.setVisible(true);
        oMainWindow.add(hallo);
	JButton login = new JButton("Zum Login");
        login.setSize(88, 24);
        oMainWindow.add(login);
	JComboBox Server=new JComboBox();
	Server.addItem("Server1 - Deutsch");
	Server.addItem("Server2 - English");
	Server.addItem("Server3 - Deutsch");
        //Soll vom Buttom ausgeführt oMainWindow.add(Server);
        login.addActionListener(oMainWindow.add(Server));
    }
}
```
Konsole:

```
game.java:35: addActionListener(java.awt.event.ActionListener) in javax.swing.AbstractButton cannot be applied to (java.awt.Component)
        login.addActionListener(oMainWindow.add(Server));
             ^
1 error
```


----------



## faetzminator (10. Aug 2009)

Die Klasse muss das Interface ActionListener implementieren und in der dir gewünschten Methode [c]oMainWindow.add(Server)[/c] aufgerufen werden.


----------



## experto2000 (10. Aug 2009)

So ich habe eine Anleitung gelesen(wieder leider Englisch) und es so entnommen aber es geht nicht

```
/*
Programm: game.java
Version: 1
*/
	

import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class game
{
    public static void main(String args[])
    {
        JFrame oMainWindow=new JFrame("World of War");
        oMainWindow.setSize(1280,768);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        oMainWindow.setVisible(true);
        //oMainWindow.activeCaptionText();
        JLabel hallo=new JLabel("World of War");
	hallo.setHorizontalAlignment(JLabel.CENTER);
	hallo.setVerticalAlignment(JLabel.TOP);
        //hallo.setForeground( Color.BLUE );
	Font font = new Font("6809 Chargen", Font.BOLD + Font.ITALIC , 60);
        hallo.setFont(font);
        hallo.setVisible(true);
        oMainWindow.add(hallo);
	JButton login = new JButton("Zum Login");
        login.setSize(88, 24);
        oMainWindow.add(login);

        login.addActionListener(Serverwahl);
    }
    public void Serverwahl()
    { 
	JComboBox Server=new JComboBox();
	Server.addItem("Server1 - Deutsch");
	Server.addItem("Server2 - English");
	Server.addItem("Server3 - Deutsch");
	oMainWindow.add(Server);
    }
}
```
Leider kommt der Fehler das er die oMainWindow nicht findet(Z.39)


----------



## faetzminator (10. Aug 2009)

Ich seh in deinem Beispiel auf den ersten blick mehrere Fehler, willst du nicht erst aus Galileo Computing :: Java ist auch eine Insel (8. Auflage) oä lesen? Ich erkenne, dass du überhaupt keinen Plan hast, wie was gemacht werden muss, was Methoden und Klassen sind, wie Listener funktionieren, was Scopes sind etc...


----------



## experto2000 (10. Aug 2009)

Danke das ihr mich nicht helft..... Braucht ihr auch nicht ..... Doch..... ich wette ich kann nooch mehr andere Sprachen womit ich mein Ziel machen kann aber ich wollte eigentlich auc mal Java ausprobieren dann mach ich mal mit allegro weiter....Oder doch nicht.... Wenn mir keiner hilft.... dann mach ich das mit Allegro ..... wenn mir doch einer hilft ..... dann mach ichs mit Java xD


----------



## Opnox (10. Aug 2009)

experto2000 hat gesagt.:


> Danke das ihr mich nicht helft..... Braucht ihr auch nicht ..... Doch..... ich wette ich kann nooch mehr andere Sprachen womit ich mein Ziel machen kann aber ich wollte eigentlich auc mal Java ausprobieren dann mach ich mal mit allegro weiter....Oder doch nicht.... Wenn mir keiner hilft.... dann mach ich das mit Allegro ..... wenn mir doch einer hilft ..... dann mach ichs mit Java xD


Die Hilfe: Die Java Insel lesen


----------



## faetzminator (10. Aug 2009)

Ist denn mein Link keine Hilfe? Müssen wir dir Code vorkauen, wenn du die Probleme deines Programms nicht verstehst? Klar könnte ich dir hier in ein paar Minuten ein funktionierendes Programm schreiben. Aber das kostet mich nur Zeit und dir hat es nichts gebracht. Nur weil du eine andere Sprache kannst, kannst du noch lange kein Java.
In welcher Sprache programmierst du mit Allegro? In C? Dies ist keine objektorientierte Sprache und darum ganz etwas anderes. Aber deinen Fehler mit dem Scope nach bist du auch noch nicht wirklich fit für andere Sprachen, oder verwendest du überall globale Variablen?
Ich will dich hier weder zur Schnecke machen noch dir nicht helfen, aber les dir doch zuerst die ersten paar Kapitel der Insel durch.


----------



## bygones (10. Aug 2009)

experto2000 hat gesagt.:


> Danke das ihr mich nicht helft..... Braucht ihr auch nicht ..... Doch..... ich wette ich kann nooch mehr andere Sprachen womit ich mein Ziel machen kann aber ich wollte eigentlich auc mal Java ausprobieren dann mach ich mal mit allegro weiter....Oder doch nicht.... Wenn mir keiner hilft.... dann mach ich das mit Allegro ..... wenn mir doch einer hilft ..... dann mach ichs mit Java xD



oh nein.. keine Drohung... nein... wir brauchen jeden Menschen der Java programmiert... verlasse uns nicht...

*kopfschuettel*


----------



## experto2000 (10. Aug 2009)

Verdammt der Teil ist keine hilfe ich habe immer noch drei problem nr. eins das da oben nr2. das der Button die Ganze Fläche Groß ist nr3.Und das er nicht wechselt.


----------



## experto2000 (11. Aug 2009)

Code geändert allerdings nochdie gleichen Probleme.

```
/*
Programm: game.java
Version: 1
*/
	
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
public class game
{
    public static void main(String args[])
    {
        JFrame oMainWindow=new JFrame("World of War");
        oMainWindow.setSize(1280,768);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        oMainWindow.setVisible(true);
        //oMainWindow.activeCaptionText();
        JLabel hallo=new JLabel("World of War");
	hallo.setHorizontalAlignment(JLabel.CENTER);
	hallo.setVerticalAlignment(JLabel.TOP);
        //hallo.setForeground( Color.BLUE );
	Font font = new Font("Flubber", Font.BOLD + Font.ITALIC , 60);
        hallo.setFont(font);
        hallo.setVisible(true);
        oMainWindow.add(hallo);
	JButton login = new JButton("Zum Login");
	login.setPreferredSize(new Dimension(17,17));
	login.setBorderPainted(false);
        oMainWindow.add(login);
        login.addActionListener(new ActionListener() {
	    @Override
	    public void actionPerformed(ActionEvent login) {
		JComboBox Server=new JComboBox();
		Server.addItem("Server1 - Deutsch");
		Server.addItem("Server2 - English");
		Server.addItem("Server3 - Deutsch");
		oMainWindow.add(Server);
	    }//actionPerformed
    });

    }
}
```


----------



## SlaterB (11. Aug 2009)

der Fehler ist schon recht speziell, da wäre an dieser Stelle ein Hinweis, ein ganzes Lehrbuch zu lesen, wirklich bisschen übertrieben 

etwas genauer: 

Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 9.2 Geschachtelte (innere) Klassen, Schnittstellen, Aufzählungen
9.2.3 Lokale Klassen
besonders Listing 9.11

allgemeiner Tipp:
Fehlermeldung (ohne eigene Variablennamen) bei google eintippen, dann findet man oft ähnliche Probleme mit passenden Lösungen


----------



## Opnox (11. Aug 2009)

Zu 1. Welches Problem "da oben"?
Wenn du *"Leider kommt der Fehler das er die oMainWindow nicht findet(Z.39)"* meinst, dann: Sichtbarkeit und Gültigkeitsbereich

Zu 2.: Layout Manager lernen: LayoutManager

Zu 3.: Was soll sich da wechseln? Beim drücken des Buttons? ActionListener: Event Listeners


----------



## experto2000 (11. Aug 2009)

Zu Nr.1 hab gelesen aber irgendwie keine Lösung geshen.


----------



## Schandro (11. Aug 2009)

Hab mal ein bisschen aufgeräumt...

```
package dumb;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.WindowConstants;

public class Game { // Erster Buchstabe einse Klassennamens sollte groß geschrieben sein
	
	public static void main(String args[]) {
		final JFrame oMainWindow = new JFrame("World of War"); // muss "final" sein, damit es im ActionListener benutzt werden kann.
		oMainWindow.setSize(500, 200);
		oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
		
		JLabel hallo = new JLabel("World of War");
		hallo.setHorizontalAlignment(JLabel.CENTER);
		hallo.setVerticalAlignment(JLabel.TOP);		
		hallo.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
		// hallo.setVisible(true);   braucht nicht extra aufgerufen werden
		oMainWindow.add(hallo,BorderLayout.NORTH); // der zweite Parameter gibt die Position der Componente im Fenster an. Für weitere Infos les dir was ber LayoutManager durch.
		
		JButton login = new JButton("Zum Login");
		login.setPreferredSize(new Dimension(17, 17));
		login.setBorderPainted(false);
		login.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent login) {
				JComboBox Server = new JComboBox();
				Server.addItem("Server1 - Deutsch");
				Server.addItem("Server2 - English");
				Server.addItem("Server3 - Deutsch");
				oMainWindow.add(Server);
			}
		});
		oMainWindow.add(login,BorderLayout.CENTER);

		oMainWindow.setVisible(true); // sollte am Schluss aufgerufen werden
	}
}
```


----------



## experto2000 (11. Aug 2009)

Danke aber ich möchte eigentlich nicht so viele imports daoben haben kann das doch auch mit Sternchen machen oder?
Das mit dem Action geht aber nicht


----------



## Schandro (11. Aug 2009)

Du kannst es auch mit Sternchen machen. Ich benutz Eclipse, deswegen achte ich gar nicht mehr auf die Importe (einmal Shift-Ctrl-O gedrückt und alles wird automatisch importiert :toll. Benutzt du ne IDE?


----------



## experto2000 (11. Aug 2009)

nein editor unter linux
und das mit dem wechsel geht noch net


----------



## Schandro (11. Aug 2009)

les dir mal dieses Kapitel durch.
Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 16.10 Alles Auslegungssache: die Layoutmanager

Danach wirst du den Wechsel mithilfe des CardLayout selber programmieren können.


----------



## experto2000 (11. Aug 2009)

Ich weiß nicht was das mit dem wechsel zutun haben soll
Ich installier den auch mal(Editor)


----------



## experto2000 (11. Aug 2009)

Verdammte kacke warum geht das mit dem Wechseln nicht


----------



## gizmo (11. Aug 2009)

Machs mit Allegro.


----------



## experto2000 (11. Aug 2009)

nein ich möchte ehr java können


----------



## gizmo (11. Aug 2009)

Dann schreib Beiträge, die Inhaltlich verständlich sind, fluche nicht, lies die Links und fang mit etwas einfacherem an.


----------



## SlaterB (11. Aug 2009)

java swing komponenten austauschen - Google-Suche
->
http://www.java-forum.org/awt-swing-swt/85216-jpanels-dynamisch-austauschen.html


----------



## experto2000 (11. Aug 2009)

Also ich gibs auf da mir keiner helfen will und wenn dann nicht gescheit


----------



## gizmo (11. Aug 2009)

Welche Form der Hilfe erwartest du? Es wurde doch alles versucht. Ich verstehe bisher nicht einmal dein Problem. Von was für einem Wechsel sprichst du?

Was soll wann, wie und zu was wechseln? Und es heisst Button, nicht Buttom!


----------



## experto2000 (11. Aug 2009)

```
//package dumb;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class game { // Erster Buchstabe einse Klassennamens sollte groß geschrieben sein
    
    public static void main(String args[]) {
        final JFrame oMainWindow = new JFrame("World of War"); // muss "final" sein, damit es im ActionListener benutzt werden kann.
        oMainWindow.setSize(500, 200);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        
        JLabel hallo = new JLabel("World of War");
        hallo.setHorizontalAlignment(JLabel.CENTER);
        hallo.setVerticalAlignment(JLabel.TOP);     
        hallo.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
        // hallo.setVisible(true);   braucht nicht extra aufgerufen werden
        oMainWindow.add(hallo,BorderLayout.NORTH);
        
        final JButton login = new JButton("Zum Login");//Wenn man den Button anklick soll er zu
        login.setPreferredSize(new Dimension(17, 17));
        login.setBorderPainted(false);
        login.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent login) { //Wechseln
		login.remove(oMainWindow);
                JComboBox Server = new JComboBox();
                Server.addItem("Server1 - Deutsch");
                Server.addItem("Server2 - English");
                Server.addItem("Server3 - Deutsch");
                oMainWindow.add(Server);
		oMainWindow.add(Server,BorderLayout.CENTER);
            }
        });
        oMainWindow.add(login,BorderLayout.CENTER);
 
        oMainWindow.setVisible(true); // sollte am Schluss aufgerufen werden
    }
}
```
Die Kommentare sollten helefen


----------



## gizmo (11. Aug 2009)

Ich befürchte du verstehst den Code nicht, den du geschrieben hast.
Erklär mir doch bitte Schritt für Schritt was folgender Code macht oder machen sollte.

```
login.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent login) { //Wechseln
        login.remove(oMainWindow);
                JComboBox Server = new JComboBox();
                Server.addItem("Server1 - Deutsch");
                Server.addItem("Server2 - English");
                Server.addItem("Server3 - Deutsch");
                oMainWindow.add(Server);
        oMainWindow.add(Server,BorderLayout.CENTER);
            }
        });
```
Da du neu bei Java bist, ist es noch zu früh um mit GUI-Programmierung anzufangen.

Um mit  der GUI-Programmierung zu starten, solltest du in folgenden Bereichen Kenntnisse haben:
- MVC
- Threads
- Anonymous inner classes
- Inheritance
- English

Falls dir diese Begriffe nichts sagen, lerne zuerst die Grundlagen.


----------



## experto2000 (11. Aug 2009)

dcoh tue ich und ausserdem bin ich auch nicht direkt damit angefangen


----------



## gizmo (11. Aug 2009)

Dann beantworte meine Frage und erklär mir folgende Begriffe:
- MVC
- Threads
- Anonymous inner classes
- Inheritance

Und lies deinen Beitrag vor dem Absenden durch, ich will nicht wieder raten müssen, was du meinst.


----------



## experto2000 (11. Aug 2009)

So die erste Zeile die du Zitirt hast macht das wenn man das Objekt anklick das er das ausführt was in die geschfeifte Klammern steht.
In den Klammern
Löscht er der Button Login
erstellt eine JComboBox mit dem Name Server
Die nächsten drei Zeilen gibt den Inhalt an indiesen Fall: Server 1 - Deutsch, Server2 - Englisch, Server3-Deutsch
Die Letze Zeile kann ich nicht erklären da sie mir zugeworfen wurde aber erraten.


----------



## SlaterB (11. Aug 2009)

@gizmo
na so wird das wirklich langsam fies,
MVC könnte ich nach 10 Jahren immer noch nicht aus dem Stand hinschreiben, schon gar nicht wollen

was genau aber bei Änderungen der Komponenten in einer Anwendung zur Laufzeit alles geschehen muss,
ist ein größeres Thema, welches man mit Aufwand erlernen muss,
nicht mal eben hier erfragen, während wahrscheinlich die Grundlagen wie Variablendeklarationen noch fehlen


----------



## experto2000 (11. Aug 2009)

gizmo hat gesagt.:


> Dann beantworte meine Frage und erklär mir folgende Begriffe:
> - MVC
> - Threads
> - Anonymous inner classes
> ...



Ohh sry zuspät deine Antwort gesehen


----------



## experto2000 (11. Aug 2009)

SlaterB hat gesagt.:


> @gizmo
> na so wird das wirklich langsam fies,
> MVC könnte ich nach 10 Jahren immer noch nicht aus dem Stand hinschreiben, schon gar nicht wollen
> 
> ...


Das Stimmt fast.

_____
Sry, für doppel Post


----------



## gizmo (11. Aug 2009)

Worauf ich hinaus will, er soll erst die Grundlagen lernen, da scheinen wir uns einig zu sein.
Wenn du dir Stil und Inhalt seiner Post anschaust und trotzdem findest ich sei zu hart, dann können wir uns in diesem Punkt nicht einig werden.
Um Swing zu verstehen, muss man nunmal MVC verstanden haben, da die Komponenten entsprechend aufgebaut sind. Schau dir zum Beispiel JTable an...

@experto: Dein Code compilt bei mir nicht. Dein ActionEvent sollte nicht gleich heissen wie der Button und du willst den Button vom Fenster entfernen nicht umgekehrt.


----------



## experto2000 (11. Aug 2009)

ihr nervt also Java werde ich dann mal von der Liste Streichen :-(


----------



## gizmo (11. Aug 2009)

experto2000 hat gesagt.:


> ihr nervt



@Slater: Das meinte ich mit Stil und Inhalt...

Edit: ( die hereingerutscht war entfernt.


----------



## experto2000 (11. Aug 2009)

Also ich würde dich jezt voll beleidigen aber da es nicht im Forum erlaubt ist lieber net


----------



## gizmo (11. Aug 2009)

Weswegen? Weil ich dir versucht habe zu helfen?

Ich zitiere meinen ersten Post in diesem Thread "Machs mit Allegro". Die haben bestimmt auch ein Forum.


----------



## experto2000 (11. Aug 2009)

Versuchen?????
zu Helfen was versteschtest du unter helfen???


----------



## gizmo (11. Aug 2009)

gizmo hat gesagt.:


> Dein Code compilt bei mir nicht. Dein ActionEvent sollte nicht gleich heissen wie der Button und du willst den Button vom Fenster entfernen nicht umgekehrt.


Das sollte schon einmal helfen... Wenn du jetzt noch auf dem Button setVisible(false) aufrufst (vor dem Entfernen), dann Funktionierts.


----------



## experto2000 (11. Aug 2009)

ok thx


----------



## gizmo (11. Aug 2009)

Bitte...

Poste bitte noch die fertige Lösung und markiere den Thread als gelöst.


----------



## experto2000 (11. Aug 2009)

Ich habe ein Problem indem mit der Anornungen oben ist top und was ist dann unten


----------



## gizmo (11. Aug 2009)

Formuliere deine Fragen verständlich!

Schau bei dict.cc | Englisch-Wrterbuch | German Dictionary.


----------



## L-ectron-X (11. Aug 2009)

experto2000 hat gesagt.:


> Ich habe ein Problem indem mit der Anornungen oben ist top und was ist dann unten


Bottom


----------



## experto2000 (12. Aug 2009)

Hallo,

Also ich könnte euch fast zeigen allerdings habe ich ein Problem mit der Anordnung von zwei Element denn die Liste wird nicht angezeigt aber der Button wird auch nicht voll angezeigt.


```
//package dumb;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class game { // Erster Buchstabe einse Klassennamens sollte groß geschrieben sein
    
    public static void main(String args[]) {
        final JFrame oMainWindow = new JFrame("World of War"); // muss "final" sein, damit es im ActionListener benutzt werden kann.
        oMainWindow.setSize(500, 200);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        JLabel hallo = new JLabel("World of War");
        hallo.setHorizontalAlignment(JLabel.CENTER);
        hallo.setVerticalAlignment(JLabel.TOP);     
        hallo.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
        // hallo.setVisible(true);   braucht nicht extra aufgerufen werden
        oMainWindow.add(hallo,BorderLayout.NORTH);
        
        final JButton login = new JButton("Zum Login");
        login.setPreferredSize(new Dimension(17, 17));
        login.setBorderPainted(false);
        oMainWindow.add(login,BorderLayout.CENTER);
        login.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent a) {
                login.setVisible(false);
		login.remove(oMainWindow);
                final JComboBox Server = new JComboBox();
                Server.addItem("Server1 - Deutsch");
                Server.addItem("Server2 - English");
                Server.addItem("Server3 - Deutsch");
                oMainWindow.add(Server);
		oMainWindow.add(Server,BorderLayout.CENTER);
		final JButton Weiter = new JButton("Weiter");
		oMainWindow.add(Weiter);
		oMainWindow.add(Weiter,BorderLayout.PAGE_END);
            }
        });
	oMainWindow.add(login,BorderLayout.CENTER);
        oMainWindow.setVisible(true); // sollte am Schluss aufgerufen werden
    }
}
```


----------



## FatFire (12. Aug 2009)

```
//package dumb;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class game { // Erster Buchstabe einse Klassennamens sollte groß geschrieben sein
    
    public static void main(String args[]) {
        final JFrame oMainWindow = new JFrame("World of War"); // muss "final" sein, damit es im ActionListener benutzt werden kann.
        oMainWindow.setSize(500, 200);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        JLabel hallo = new JLabel("World of War");
        hallo.setHorizontalAlignment(JLabel.CENTER);
        hallo.setVerticalAlignment(JLabel.TOP);     
        hallo.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
        oMainWindow.setLayout(new BorderLayout());
        oMainWindow.add(hallo,BorderLayout.NORTH);
        final JButton login = new JButton("Zum Login");
        login.setBorderPainted(false);
        oMainWindow.add(login,BorderLayout.CENTER);
        login.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent a) {
                final JComboBox Server = new JComboBox();
                Server.addItem("Server1 - Deutsch");
                Server.addItem("Server2 - English");
                Server.addItem("Server3 - Deutsch");
                final JButton Weiter = new JButton("Weiter");
                oMainWindow.remove(login);
                oMainWindow.add(Server,BorderLayout.CENTER);
                oMainWindow.add(Weiter,BorderLayout.SOUTH);
                oMainWindow.validate();
            }
        });
        oMainWindow.setVisible(true); // sollte am Schluss aufgerufen werden
    }
}
```
Eine Komponente fügt man immer nur einmal einem Container hinzu, wenn ich aus einem Container eine Komponente entfernen möchte, muss ich dies natürlich dem Container sagen und nicht umgekehrt, wenn ich Komponenten entferne und hinzufüge während das Ganze angezeigt wird, muss ich danach den Container neu validieren...willst Du nicht vielleicht doch erst einmal die Grundlagen lernen?

Gruß FatFire


----------



## experto2000 (12. Aug 2009)

Danke,
nur noch eine Frage
Wie lese ich den inHalt aus von Server???


----------



## Schandro (12. Aug 2009)

guck in die API:
Java Platform SE 6
Einfach links unten im Frame "All Classes" nach JComboBox suchen, draufklicken und dann auf der rechten Seite nach einer passenden Methode suchen.


----------



## experto2000 (12. Aug 2009)

Danke das was ich so gefunden habe war:
[java=42]
			serverwahl = null;
			serverwahl = (String)jComboBox.getSelectedItem(Server);
			JLabel z = new JLabel(serverwahl . " - Login");
[/code]

Der Fehler ist bei der JLAbel ausgabe mit dem Verbinden und der Variable


----------



## Schandro (12. Aug 2009)

Hast du jetzt wirklich vor bei jeder winzigen Sache hier nachzufragen, da du die Grundlagen kein bisschen kannst? Dann wirst du schnell mehr Beiträge haben als SlaterB...

Les die Grundlagen durch. Du wirst dich danach besser fühlen, glaub mir xD

Na gut, ich bin nochmal so nett: In Java konnektiert man Strings mit dem + Operator


----------



## experto2000 (12. Aug 2009)

Das war dann nicht mein Fehler xD


----------



## Schandro (12. Aug 2009)

das ist der Grund warum man kein fertiges Programm durch Copy&Paste zustande bekommt ^^


----------



## experto2000 (12. Aug 2009)

Auch die scheiß links die ihr mir schick nützt nichts wie z.B Link nützt ein nichts 1. weil der nur die Bedeutung erklärt


----------



## Sergeant_Pepper (12. Aug 2009)

experto2000 hat gesagt.:


> Auch die scheiß links die ihr mir schick nützt nichts wie z.B Link nützt ein nichts 1. weil der nur die Bedeutung erklärt


experto2000, Du bist unverschämt


----------



## Schandro (12. Aug 2009)

natürlich ist die API nutzlos wenn man keine Grundlagen kann...
Deswegen haben wir ja davor schon oft genug Link zu Java Handbüchern gepostet, z.b. "Java ist auch eine Insel".

Sehs einfach ein, du wirst nie (Java) programmieren können wenn du die Bücher dazu nicht liest. Es ist einfach so. Jeder hat und musste mal damit anfangen.
Übrigens ist das nicht nur am Anfang so, man muss immer irgendwelche Docs, Handbücher usw. lesen, dass gehört einfach zum programmieren dazu.


----------



## experto2000 (12. Aug 2009)

Ich such jetzt schon eine Stunde wie man die Größe eines Textfelds bestimmt aber ich finde nichts oder ich suche Falsch.
Schaut euch einfach mein Bild an das erklärt was ich meine.


----------



## Schandro (12. Aug 2009)

Les dir was über LayoutManager durch... :rtfm:


----------



## experto2000 (12. Aug 2009)

Hab ich geht trotzdem net wenn ich wohl google mit ganz vielen lösungs möglich keitein und nichts finde.
Kann mir einer ein guten aber wirklich guten Link schreiben oder  die Lösung geht auch


----------



## Opnox (12. Aug 2009)

Hab sogar 2 gute Links für dich:
Trail: Creating a GUI with JFC/Swing (The Java™ Tutorials)
Galileo Computing :: Java ist auch eine Insel (8. Auflage)


----------



## experto2000 (12. Aug 2009)

1. Link Englisch (nicht gut)
2.Link habe ich nicht Tausend mal gesagt das bringts nichts


----------



## Sergeant_Pepper (12. Aug 2009)

experto2000 hat gesagt.:


> 1. Link Englisch (nicht gut)


Dann musst du englisch lernen, denn sehr viele Dokus und Tutorials für Java gibt's nur in englisch.


> 2.Link habe ich nicht Tausend mal gesagt das bringts nichts


Ach so, du willst dass andere für dich arbeiten und denken?
Lesen musst du die Forumsbeiträge auch.
Außerdem ist deine Formulierung unverschämt


----------



## SlaterB (12. Aug 2009)

ist ja nun angekommen, soll experto2000 soviel meckern wie er will,
ich glaube den Ton kann man gerade noch verkraften und da eh ständig so schreibt ist es auch nicht persönlich

die ständigen Hinweise darauf helfen nun auch nicht weiter,
ignorieren, dann lernt er vielleicht was draus


----------



## Shulyn (12. Aug 2009)

experto2000 hat gesagt.:


> Ich such jetzt schon eine Stunde wie man die Größe eines Textfelds bestimmt aber ich finde nichts oder ich suche Falsch.
> Schaut euch einfach mein Bild an das erklärt was ich meine.



Eine frage habe ich, was für ein IDE benutzt du? Eclipse? Wenn nicht solltest du Eclipse benutze, das erleichtert dir sehr sehr viel, jedoch benötigt man einige Zeit um mit Eclipse umgehen zu können.

Ich kann dir das Buch "Java Lernen mit Eclipse" empfehlen. Mein Bruder hat damit fix in 1 Monat den umgang mit Eclipse und Java gelernt.

Ok back to topic.
Um einem Textfeld eine Größe zu geben gibt es einige möglichkeiten. Es kommt immer drauf an wo und wie man es benutzt! Wenn du NUR das Textfeld verändern willst dann z.B so :


```
JTextField name = new JTextField(0);
name.setText("mein name ist Shulyn");
//name.setSize(int width, int height);
name.setSize(100,21);
```

Wenn du das Textfeld z.B in einem Panel benutzt. Dann solltest du es über den LayoutManager des Panels verändern.


```
mainPanel = new JPanel();
        double[] cols = { TableLayout.FILL };
        double[] rows = { TableLayout.FILL };

        tableLayout = new TableLayout(cols, rows);
        mainPanel.setLayout(tableLayout);
        JTextField name = new JTextField(0);
        name.setText("mein name ist Shulyn");
        mainPanel.add(name, "0,0");
```

Was du alles in das TableLayout setzen kannst solltest du dir anlesen.:rtfm: Ich weiß nicht wie deine Gui aussehen soll.. 

Shu!


----------



## experto2000 (12. Aug 2009)

Meinst auf der Idee mit setSize bin ich nicht gekommen geht aber nicht und die andere kappier ich nicht.
Es soll einfach beide Text Felder gleich dick sein


----------



## Shulyn (12. Aug 2009)

experto2000 hat gesagt.:


> Meinst auf der Idee mit setSize bin ich nicht gekommen geht aber nicht und die andere kappier ich nicht.
> Es soll einfach beide Text Felder gleich dick sein



Ich kann nicht wissen was du schon probiert hast, und was nicht. Auch kann ich nicht wissen was du nicht "kappierst". Wenn du noch mehr solche Antworten schreibst wird dir bald niemand mehr helfen. 

Und sd du keinen Quellcode von dir gezeigt hast kann ich es nicht in deinen einarbeiten.
Daher gehe ich davon aus das du 1 Panel hast in da du 2 Textfelder untereinander schreibst.
Dann könnte es ungefähr so aussehen :

```
mainPanel = new JPanel();
        double[] reihe = { TableLayout.FILL }; // gibt an das es ausfüllend sein soll
        double[] spalte = { 5, 5 }; // border space
 
        tableLayout = new TableLayout(reihe, spalte);
        mainPanel.setLayout(tableLayout);
        mainPanel.add(username, "1");
        mainPanel.add(passwortd, "2");
```


----------



## Opnox (12. Aug 2009)

TableLayout ist nicht in der Standard API.


----------



## experto2000 (12. Aug 2009)

ok hier der Code:

```
//package dumb;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class game { // Erster Buchstabe einse Klassennamens sollte groß geschrieben sein
    
    public static void main(String args[]) {
        final JFrame oMainWindow = new JFrame("World of War"); // muss "final" sein, damit es im ActionListener benutzt werden kann.
        oMainWindow.setSize(500, 200);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        final JLabel hallo = new JLabel("World of War");
        hallo.setHorizontalAlignment(JLabel.CENTER);
        hallo.setVerticalAlignment(JLabel.TOP);     
        hallo.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
        // hallo.setVisible(true);   braucht nicht extra aufgerufen werden
        oMainWindow.add(hallo,BorderLayout.NORTH);
        
        final JButton login = new JButton("Zum Login");
        login.setPreferredSize(new Dimension(17, 17));
        login.setBorderPainted(false);
        oMainWindow.add(login,BorderLayout.CENTER);
        login.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent a) {
                login.setVisible(false);
		login.remove(oMainWindow);
                final JComboBox Server = new JComboBox();
                Server.addItem("S1 Neptun");
                Server.addItem("S2 Erde");
                oMainWindow.add(Server);
		final JButton Weiter = new JButton("Weiter");
		oMainWindow.add(Weiter);
                oMainWindow.add(Server,BorderLayout.CENTER);
                oMainWindow.add(Weiter,BorderLayout.SOUTH); 
		Weiter.addActionListener(new ActionListener() {
		    public void actionPerformed(ActionEvent a) {
			Server.setVisible(false);
			Weiter.setVisible(false);
			hallo.setVisible(false);
			String serverwahl = (String)Server.getSelectedItem ();
			if(serverwahl == "S1 Neptun")
			 {
			    JLabel z = new JLabel("Server 1 Neptun");
			    oMainWindow.add(z);
			    oMainWindow.add(z,BorderLayout.NORTH);
			    z.setHorizontalAlignment(JLabel.CENTER);
			    z.setVerticalAlignment(JLabel.TOP);     
			    z.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
			 }
			 else
			 {
			    JLabel y = new JLabel("Server 2 Erde");
			    oMainWindow.add(y);
			    final TextField username = new TextField("Username",30);
			    final TextField passwort = new TextField("Passwort",30);
			    username.setSize(1280, 10);
			    oMainWindow.add(username);
			    oMainWindow.add(passwort);	    
			    oMainWindow.add(y,BorderLayout.NORTH);
			    oMainWindow.add(username,BorderLayout.CENTER);
			    oMainWindow.add(passwort,BorderLayout.SOUTH);
			    y.setHorizontalAlignment(JLabel.CENTER);
			    y.setVerticalAlignment(JLabel.TOP); 
			    y.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
			}
			oMainWindow.setSize(1280, 768);
		    }
		});
            }
        });
	oMainWindow.add(login,BorderLayout.CENTER);
        oMainWindow.setVisible(true); // sollte am Schluss aufgerufen werden
    }
}
```


----------



## experto2000 (12. Aug 2009)

Kann mir bitte einer Helfen ich weiß nicht wo das Jpannel hin muss und wie ichs anpasse


----------



## Zipp (12. Aug 2009)

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

public class Test {

  public Test() {
    JPanel panel = new JPanel();
    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
    panel.add(new JTextField(30));
    panel.add(new JTextField(30));

    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.add(panel);
    frame.pack();
    frame.setVisible(true);
  }

  public static void main(String[] args) {
    new Test();
  }
}
```

Hier ein kleines Beispiel. Es wird ein Frame und ein Panel erzeugt. Dem Panel werden noch 2 Textfelder hinzugefügt und das Panel wird dem Frame hinzugefügt.
Desweitern wird beim Panel das BoxLayout benutzt.


----------



## experto2000 (12. Aug 2009)

Und was bringt mir das nichts.

```
//package dumb;
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class game { // Erster Buchstabe einse Klassennamens sollte groß geschrieben sein
    
    public static void main(String args[]) {
        final JFrame oMainWindow = new JFrame("World of War"); // muss "final" sein, damit es im ActionListener benutzt werden kann.
        oMainWindow.setSize(500, 200);
        oMainWindow.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        final JLabel hallo = new JLabel("World of War");
        hallo.setHorizontalAlignment(JLabel.CENTER);
        hallo.setVerticalAlignment(JLabel.TOP);     
        hallo.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
        // hallo.setVisible(true);   braucht nicht extra aufgerufen werden
        oMainWindow.add(hallo,BorderLayout.NORTH);
        
        final JButton login = new JButton("Zum Login");
        login.setPreferredSize(new Dimension(17, 17));
        login.setBorderPainted(false);
        oMainWindow.add(login,BorderLayout.CENTER);
        login.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent a) {
                login.setVisible(false);
		login.remove(oMainWindow);
                final JComboBox Server = new JComboBox();
                Server.addItem("S1 Neptun");
                Server.addItem("S2 Erde");
                oMainWindow.add(Server);
		final JButton Weiter = new JButton("Weiter");
		oMainWindow.add(Weiter);
                oMainWindow.add(Server,BorderLayout.CENTER);
                oMainWindow.add(Weiter,BorderLayout.SOUTH); 
		Weiter.addActionListener(new ActionListener() {
		    public void actionPerformed(ActionEvent a) {
			Server.setVisible(false);
			Weiter.setVisible(false);
			hallo.setVisible(false);
			String serverwahl = (String)Server.getSelectedItem ();
			if(serverwahl == "S1 Neptun")
			 {
			    JLabel z = new JLabel("Server 1 Neptun");
			    oMainWindow.add(z);
			    oMainWindow.add(z,BorderLayout.NORTH);
			    z.setHorizontalAlignment(JLabel.CENTER);
			    z.setVerticalAlignment(JLabel.TOP);     
			    z.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
			 }
			 else
			 {
			    JLabel y = new JLabel("Server 2 Erde");
			    oMainWindow.add(y);
			    final TextField username = new TextField("Username",30);
			    final TextField passwort = new TextField("Passwort",30);
			    JPanel panel = new JPanel();
			    panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS));
			    panel.add(username);
			    panel.add(passwort);
			    oMainWindow.add(panel);
			    oMainWindow.add(y,BorderLayout.NORTH);
			    oMainWindow.add(username,BorderLayout.CENTER);
			    oMainWindow.add(passwort,BorderLayout.SOUTH);
			    y.setHorizontalAlignment(JLabel.CENTER);
			    y.setVerticalAlignment(JLabel.TOP); 
			    y.setFont(new Font("Flubber", Font.BOLD + Font.ITALIC, 60));
			}
			oMainWindow.setSize(1280, 768);
		    }
		});
            }
        });
	oMainWindow.add(login,BorderLayout.CENTER);
        oMainWindow.setVisible(true); // sollte am Schluss aufgerufen werden
    }
}
```
Es hat sich nichts geändert


----------



## astro (12. Aug 2009)

Dann geh einfach weg hier!


----------



## Zipp (12. Aug 2009)

[JAVA=61]oMainWindow.add(panel);
oMainWindow.add(y,BorderLayout.NORTH);
oMainWindow.add(username,BorderLayout.CENTER);[/code]
Soweit ich das weiß, kann das BorderLayout nur 5 Komponeten erfassen. Daher gibt es nur dir fünf Konstanten: NORTH, CENTER, WEST, EAST, SOUTH.

Wenn man jetzt eine Komponente eine Panel zuordnen will, welches das BorderLayout benutzt, muss man ihr mitteilen in welchem Feld die Komponente angezeigt werden soll.

Der Default-Wert ist CENTER, dass heißt:
[JAVA=61]oMainWindow.add(panel);[/code]
ist äquivalent zu
[JAVA=61]oMainWindow.add(panel, BorderLayout.CENTER);[/code]

In Zeile 63 setzt du aber in das Feld CENTER eine andere Komponente. Daher wird das Panel gar nicht angezeigt.

Edit:
Und du fügst "username" und "passwort" doppelt hinzu, was soweit ich weiß auch nicht geht und auch nicht sinnig ist.
[JAVA=63]panel.add(username);
panel.add(passwort);
oMainWindow.add(panel);
oMainWindow.add(y,BorderLayout.NORTH);
oMainWindow.add(username,BorderLayout.CENTER);//Zeile streichen
oMainWindow.add(passwort,BorderLayout.SOUTH);//Zeile Streichen[/code]
Ich hoffe, ich habe das gerade alles richtig gelesen.


----------

