# JPanel setSize()



## Sindbad1983 (26. Mai 2005)

Hi!

ICh möchte einem Container 3 unterschiedlich große JPAnels hinzufügen, nur leider funktioniert das nicht..dachte mir die Größe kann man mit setSize setzen?


```
class SmtpClient extends JFrame implements ActionListener{
	
	 
	private JPanel oben;
	private JPanel mitte;
	private JPanel unten;
	
	private JLabel labsender;
	private JLabel labrec;
	private JLabel labtopic;
	
	private JTextField sender;
	private JTextField receiver;
	private JTextField topic;
	
	private JButton send;
	
	private JTextArea input;
	private JTextArea output;
	
	
	
	
	public SmtpClient(String titel){
		super(titel);
		
		Container c=getContentPane();
		c.setLayout(new GridLayout(3,1));
		c.setSize(750,500);
		
		oben=new JPanel();
		oben.setBackground(Color.red);
		oben.setSize(750,50);
		
		
		mitte=new JPanel();
		mitte.setBackground(Color.blue);
		mitte.setSize(750,225);
		
		unten=new JPanel();
		unten.setBackground(Color.GREEN);
		unten.setSize(750,225);
		
		add(oben);
		add(mitte);
		add(unten);
		
		
	
		
		
	}
	
	
	public static void main(String[] args) {
		
		SmtpClient client=new SmtpClient("SMTP Mail Client");
		
		client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		client.setSize(750,500);
		client.setLocation(300,300);
		client.setVisible(true);
	
	}


	public void actionPerformed(ActionEvent e) {
	
	}

}
```

Leider werden noch immer gleich größe Panels angezeigt!
Das oberste sollte aber nur ca. 50 sein, die anderen beiden jeweils mit 225 wesentlich größer!
Danke!


----------



## mic_checker (26. Mai 2005)

Ich denke mal du kannst in einem GridLayout die Größe der Zeilen etc. nicht individuell anpassen, sprich alle sind gleich groß.

Wenn du alles ganz individuell anpassen wolltest müsstest du wohl NULL-Layout verwenden, wenn ich mich nicht täusche.

Aber kann auch sein das es nicht stimmt, bin gerad erst aufgestanden


----------



## Sindbad1983 (26. Mai 2005)

aha..

kann mir da bitte sonst jemand helfen?
Wie könnt ich das lösen?
Ich möcht einen smtp-Client programmieren und ich brauch 3 unterschiedlich große Panels!


----------



## Sindbad1983 (26. Mai 2005)

ok ich habs

werds dann mal posten, wenns fertig ist


----------



## Sindbad1983 (26. Mai 2005)

so schauts gut aus!   :lol: 


habs ein bissl anders gelöst:



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


 class SmtpClient extends JFrame implements ActionListener{
	
	 
	private JPanel oben;
	private JPanel unten;
	private JPanel a;
	private JPanel b;
	
	private JLabel labsender;
	private JLabel labrec;
	private JLabel labtopic;
	
	private JTextField sender;
	private JTextField receiver;
	private JTextField topic;
	
	private JButton send;
	
	private JTextArea input;
	private JTextArea output;
	private JScrollPane pane1;
	private JScrollPane pane2;
	
	
	
	
	public SmtpClient(String titel){
		super(titel);
		
		Container c=getContentPane();
		c.setLayout(new GridLayout(2,1,5,5));
		c.setSize(750,500);
		c.setBackground(Color.black);
		
		oben=new JPanel(new BorderLayout(5,5));
		oben.setBackground(Color.black);
		
		
		JPanel a=new JPanel();
		a.setBackground(Color.lightGray);
		
		
		labsender=new JLabel("Sender: ");
		sender=new JTextField(15);
		
		labrec=new JLabel("Receiver:");
		receiver=new JTextField(15);
		
		labtopic=new JLabel("Topic:");
		topic=new JTextField(15);
		
		send=new JButton("Send");
		
		a.add(labsender);
		a.add(sender);
		a.add(labrec);
		a.add(receiver);
		a.add(labtopic);
		a.add(topic);
		a.add(send);
		
		
		JPanel b=new JPanel();
		b.setBackground(Color.white);
		
		JTextArea input=new JTextArea(11,65);
		input.setText("Geben sie bitte hier ihre Nachricht ein:\n");
		
		
		pane1=new JScrollPane(input);
		pane1.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		b.add(pane1);
		

	
		unten=new JPanel();
		unten.setBackground(Color.white);
		
		JTextArea output=new JTextArea(13,65);
		
		pane2=new JScrollPane(output);
		pane2.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
		unten.add(pane2);
	
		add(oben);
		oben.add(a, BorderLayout.NORTH);
		oben.add(b, BorderLayout.CENTER);
		add(unten);
	
	
	}
	
	public void actionPerformed(ActionEvent e) {
		
		
		
		}
	
	
	public static void main(String[] args) {
		
		SmtpClient client=new SmtpClient("SMTP Mail Client");
		
		client.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		client.setSize(750,500);
		client.setLocation(300,300);
		client.setVisible(true);
	
	}


	

}
```


----------

