# Button nimmt komplettes Fenster ein



## Knizz (5. Jun 2011)

Zuerst erkläre ich mal kurz, wie das Programm ablaufen soll. Am Anfang wird eine Passwort abfrage gestartet. Ist dieser erfolgreich soll ein neues Fenster erzeugt werden und die beiden Button ebenfalls. Mein Problem besteht aber darin, dass der eine Button das ganze Fenster einnimmt und der andere nur manchmal zusehen ist.


```
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.Component;
import javax.swing.*;

public class oberflaeche
{
	public static void main(String[] args) 
	{
//------------------------------------------------------------------------------------------------------ Fenstereinstellungen
	

		 JFrame frame = new JFrame("Menü");
		 frame.setSize(750,500);
		 
		 // Fenster nicht sichtbar, bis korrekte Passworteingabe erfolgt
		 frame.setVisible(false);		
		 
		 // Buttons erstellen; 
		 JButton bwplus = new JButton("Neue Ware anlegen");
		 frame.add(bwplus);
		 bwplus.setSize(100, 40);
		 bwplus.setLocation(159,29);
		
		 JButton bwminus = new JButton("Ware löschen");
		 frame.add(bwminus);
		 bwminus.setSize(100, 40);
		 bwminus.setLocation(11,23); 
		
//------------------------------------------------------------------------------------------------------ PW-Abfrage
		 
		 // PW-Abtl.
		 String Eingabe = JOptionPane.showInputDialog("Bitte geben Sie das Passwort");
			if (Eingabe.equals("admin"))
			{
				JOptionPane.showMessageDialog(null, "Willkommen, Abteilungsleiter!", "", JOptionPane.INFORMATION_MESSAGE);
				frame.setVisible(true);
			}
			else
			{
				JOptionPane.showMessageDialog(null, "Falsches Passwort", "", JOptionPane.INFORMATION_MESSAGE);
			}
				
			

}
	}
```

Natürlich möchte ich, dass die Buttons nur die zugeteilte Größe haben.
Vielen Danke im Vorraus :rtfm:


----------



## Volvagia (5. Jun 2011)

1) Passwort niemals direkt im Source ablegen.
2) Variablennamen immer klein beginnen.
3) http://www.java-forum.org/java-faq-beitraege/109289-vorstellung-layoutmanager-standard-java-api.html


----------



## Knizz (5. Jun 2011)

Vielen Danke für die schnelle Antwort. :applaus:
Das mit dem PW ist in diesem Fall egal, sonst hätte ich es anders gemacht :bae:


----------



## Volvagia (5. Jun 2011)

Hast dus jetzt? Das ContentPane eines JFrames hat standartgemäß das BorderLayout, welches bei parameterlosen adds Komponenten über das komplette Pane streckt. Du willst es vermutlich deaktivieren (null). Wobei das FlowLayout für 2 Buttons auch nicht zu verachten wäre.


----------



## Knizz (5. Jun 2011)

Muss da aber glaube ich ein anderes Layout verwenden, da es insgesamt 4 Button geben soll und ein Eingabefeld. Versuche grad aus den ganzen Layouts schlau zu werden.


----------



## Volvagia (5. Jun 2011)

Wenns nur 4 Buttons sind würde ich dir das GridLayout empfehlen. Damit kannst du sie im Rechteck anordnen. Allerdings werden dadurch alle gleich groß.
O|O
O|O

Oder das FlowLayout: OOOO
Wäre auch einfacher.
Alternativ würde eine horizontale Box das Selbe machen.


----------



## Knizz (5. Jun 2011)

Ok, danke. Ich werde mich mal mit den näher beschäftigen und mich melden, falls ich erneut Probleme habe.


----------



## MW (6. Jun 2011)

Also ich verwende ganz gerne das TableLayout.

TableLayout - An Alternative to GridBagLayout

Lg


----------



## shortys (6. Jun 2011)

Falls du noch über die "Welcher LayoutManager soll es denn sein?" - Frage nachdenkst; ich persönlich habe sehr gute Erfahrung mit dem MigLayout gemacht:

MiG Layout Java Layout Manager for Swing and SWT


----------



## Marco13 (6. Jun 2011)

Showdown: TWiki . Javadesktop . LayoutManagerShowdown


----------



## Knizz (7. Jun 2011)

Vielen Dank für die ganzen Antworten, habs jetzt soweit hinbekommen


----------

