# null Layout -> Label wird nicht angezeigt



## Haumdaucher (11. Mrz 2008)

Hallo an alle,

ist sicher ne absolut dumme Sache, ich komm aber einfach nicht weiter...
Habe ein Applet auf dem allgemein mal das BorderLayout ist. In der "South" Componente soll ein einziges JPanel in dem mehrere JLabels (nur mit Grafiken versehen) teilweise überlappt dargestellt werden sollen. Deswegen im Panel ein null-Layout. Wenn ich die Zeile mit dem south.setLayout(null) auskommentier werden die Labels auch angezeigt, aber halt im FlowLayout.


```
this.setLayout(new BorderLayout());

		JPanel south = new JPanel();

		south.setLayout(null);

		ImageIcon im = new ImageIcon(
				"D:\\Programmieren\\Java\\Projekte\\Schafkopf\\Infos\\Images\\test.jpg");
		JLabel label;

		for (int i = 0; i < 2; i++) {

			label = new JLabel(im);

			label.setBounds(10 + 80 * (i + 1), 0, im.getIconWidth(), im
					.getIconHeight());
			// label.setLocation(10 + 80 * (i + 1), 10);
			// label.setSize(im.getIconWidth(), im.getIconHeight());
			label.setName("karte" + i);
			label.addMouseListener(this);
			south.add(label);
		}

		this.add(south, BorderLayout.PAGE_END);
```

Bin über jede Hilfe froh, kann ja wohl kein großes Problem sein...

Mfg, Peter


----------



## SlaterB (11. Mrz 2008)

gib doch mal im.getIconWidth() aus,
ist bestimmt 0, Bild nicht gefunden oder noch nicht geladen oder sonstwas
(ist leider noch keine Lösung, ich weiß)


----------



## Haumdaucher (11. Mrz 2008)

Leider auch nicht der Fehler, wie gesagt, wenn ich des south.setLayout(null) weglasse, werden die Images bzw. Labels ja angezeigt...


----------



## SlaterB (11. Mrz 2008)

oho, das klingt ja fast als hättest du das nicht erst ausprobiert..
(hast aber Recht nachdem ich es nun ausprobiert habe  )

das Problem ist vielmehr, dass south mit Hoehe 0 in das BorderLayout eingefügt wird,
verwende
south.setPreferredSize(new Dimension(1, 40));
um die Höhe auf 40 zu setzen, oder besser natürlich im.getIconHeight()


----------



## Haumdaucher (12. Mrz 2008)

Vielen dank, war ja klar dass es nix außergewöhnliches sein wird ;-)


----------

