# NullLayout



## I-Love-Java (6. Nov 2010)

Hallo Zusammen, ich habe ein NullLayout eingebaut. Ich habe auch die Bounds gesetzt kann aber mein Label _investition_ nicht hin und her verschieben... kann mir bitte jemand helfen? Ich sitze schon den ganzen Tag an diesem Problem... HIIIILFE!???

:L

;(


```
import java.awt.*;

import javax.swing.*;


public class StartFenster extends JFrame {
		
		
	StartFenster(){
		super("Mathematische Berechnungen");
		setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
		
		JPanel erstesPanel = new JPanel();
		erstesPanel.setLayout(new BorderLayout());
				
		JPanel zweitesPanel = new JPanel ();
		zweitesPanel.setLayout(null);
		
		
	
		JLabel investition = new JLabel("Investition");
		investition.setFont(new Font("Arial", Font.BOLD, 15));
		investition.setBounds(750, 200, 250, 30);
		add(investition);
		
		
	
		
	}

	
	public static void main(String[] args) {
		
		StartFenster fenster1= new StartFenster ();

		
		fenster1.setSize(1200, 600);
		fenster1.setLocation(100,75);
		fenster1.setVisible(true);
		fenster1.setResizable(false);
		
	

	}

}
```


;(


----------



## eRaaaa (6. Nov 2010)

I-Love-Java hat gesagt.:


> Ich habe auch die Bounds gesetzt kann aber mein Label _investition_ nicht hin und her verschieben...



Was meinst du mit hin-und her verschieben? Per drag and drop oder wie? Da wäre etwas mehr zu tun. Wenn du meinst, dass dein setBounds keine Wirkung erzielt, liegt das vermutlich daran, dass du das Label dem Contentpane des Frames hinzufügst und nicht dem Panel, welches du das null-Layout verpasst hast

```
zweitesPanel.add(investition);
		add(zweitesPanel);
```


----------



## I-Love-Java (6. Nov 2010)

eRaaaa hat gesagt.:


> Was meinst du mit hin-und her verschieben? Per drag and drop oder wie? Da wäre etwas mehr zu tun. Wenn du meinst, dass dein setBounds keine Wirkung erzielt, liegt das vermutlich daran, dass du das Label dem Contentpane des Frames hinzufügst und nicht dem Panel, welches du das null-Layout verpasst hast
> 
> ```
> zweitesPanel.add(investition);
> ...



Aber das geht auch nicht :bahnhof:
Ich glaube ich gebe es langsam auf :autsch:


----------



## eRaaaa (6. Nov 2010)

I-Love-Java hat gesagt.:


> Aber das geht auch nicht :bahnhof:
> Ich glaube ich gebe es langsam auf :autsch:



WAS geht auch nicht? Beschreibe doch endlich mal GENAU was du vor hast, und wie jetzt dein Code aussieht. Hast du die Zeile [c] add(investition);[/c] herausgenommen? Die macht jetzt nämlich keinen Sinn mehr

```
StartFenster() {
		super("Mathematische Berechnungen");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		JPanel zweitesPanel = new JPanel();
		zweitesPanel.setLayout(null);

		JLabel investition = new JLabel("Investition");
		investition.setFont(new Font("Arial", Font.BOLD, 15));
		investition.setBounds(750, 200, 250, 30);

		zweitesPanel.add(investition);
		add(zweitesPanel);

	}
```

du hattest leider meine Frage nicht beantworten was du dir unter hin- und her verschieben vorstellst. Man kann dann nur schwer helfen....


----------



## I-Love-Java (6. Nov 2010)

Also: Ich werde für meine GUI mehrere Labels brauchen, die will ich mit dem NullLayout hin und her schieben. Jetzt habe ich ein Label bis her deklariert. Allerdings kann ich mein Label nicht nach rechts, nach links verschieben. 
	
	
	
	





```
investition.setBounds(750, 200, 250, 30);
```
. So sieht das im Coding aus. Wenn ich aber 
	
	
	
	





```
investition.setBounds(75, 20, 50, 300);
```
 die Bounds setzte hat das auch keine Wirkung. Und ich komme nicht drauf, wieso ich mein Label innerhalb meines Fensters verschieben kann. Ich hoffe, dass ich das Problem näher erläutern konnte... ;(


----------



## eRaaaa (6. Nov 2010)

I-Love-Java hat gesagt.:


> Also: Ich werde für meine GUI mehrere Labels brauchen, die will ich mit dem NullLayout hin und her schieben. Jetzt habe ich ein Label bis her deklariert. Allerdings kann ich mein Label nicht nach rechts, nach links verschieben.
> 
> 
> 
> ...



Jetzt bin ich genau so schlau wie vorher(vllt liegt`s auch einfach an mir)

Also eig. sollte der Code oben funktionieren, mit setBounds sollte sich zumindest das Label positionieren lassen, hier eine Demo:

```
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;
 
 
public class StartFenster extends JFrame {
        
    StartFenster(){
        super("Mathematische Berechnungen");
        setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
              
        JPanel zweitesPanel = new JPanel ();
        zweitesPanel.setLayout(null);

        final JLabel investition = new JLabel("Investition");
        investition.setFont(new Font("Arial", Font.BOLD, 15));
        investition.setBounds(750, 200, 250, 30);
        
        zweitesPanel.add(investition);
        add(zweitesPanel);
        
        //optional:
        final Random r = new Random();
        new Timer(2000, new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent e) {
				investition.setBounds(r.nextInt(1000), r.nextInt(500), 250, 30);
			}
		}).start();
       
    }
 
    public static void main(String[] args) {   
        StartFenster fenster1= new StartFenster ();
        fenster1.setSize(1200, 600);
        fenster1.setLocation(100,75);
        fenster1.setVisible(true);
        fenster1.setResizable(false);
    }
}
```

alles nach //optional ist nur um dir zu zeigen dass sich das Label verschieben lässt(hier durch einen Timer alle 2sek auf eine zufällige Position).

Was ist jetzt dein Problem? :autsch:


----------



## I-Love-Java (6. Nov 2010)

*Sie sind ein schatz 

es klappt! Genau so wie ich es will... Ich koennte sie jetzt umarmen <3*


:applaus:


----------

