# Linie zeichnen



## Admiral (22. Okt 2006)

Hallo,

ich möchte zu meinem einfachen Fenster, das diverse Elemente enthält ein paar Linien zeichnen. Aber ich weiss nicht wie ich eine Linie auf mein bestehendes Fenster hinbekomme. Es soll einfach eine senkrechte Linie sein: setBounds(100, 20, 100, 30);

Kann mir jemand erklären wie ich das bewerkstellige?



```
public class Fenster extends JFrame {

JButton schalter, drucken;

public static void main(String[] args) {
		
		JFrame formular = new JFrame();
		Color hintergrund = new Color(255,255,0);
		formular.setTitle("Demo");
		formular.setSize(400, 400);
		formular.setLocation(300, 300); 

		final JButton schalter = new JButton();
		schalter.setText("Speichern");
		schalter.setBounds(120, 100, 1, 200);

		formular.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
		Container c = formular.getContentPane();
		
		c.setLayout(null);
		c.add(schalter);
		
		formular.setVisible(true);
		
}

}
```

Vielen Dank im voraus.

Admiral


----------



## Beni (22. Okt 2006)

Ein JPanel mit Hintergrund = Color.BLACK und nicht durchsichtig (setOpaque(true))? Wenn das eine Breite von 1 hat, ist es ein senkrechter Strich (allenfalls "setPreferredSize" mit einer Dimension 1/1 aufrufen, damit die LayoutManager das Panel nichts zusehr verziehen. Funktioniert leider nicht mit allen LayoutManagern).


----------



## Admiral (22. Okt 2006)

danke für die schnelle Antwort - hm, aber da ich noch blutiger Anfänger bin verstehe ich nicht so recht was du meinst ;(
Ich versuche es noch einmal so:
Eine Line zeichne ich ja so:

```
public void paint(Graphics g) {
		g.drawLine(100,100,10,10);
	}
```

Jedoch habe ich Probleme die Linie meinem Fenster "Formular" zu übergeben. Irgendwie verstehe ich da wohl noch etwas nicht ganz. Wäre toll wenn du mir da eine Hilfe geben könntest.

Gruß Admiral[/code]


----------



## Beni (22. Okt 2006)

```
...

JPanel linie = new JPanel();
linie.setOpaque( true );
linie.setBackground( Color.BLACK );
linie.setPreferredSize( new Dimension( 1, 1 ));

linie.setBounds( 20, 30, 1, 50 );
c.add( linie );
```


----------



## Admiral (22. Okt 2006)

perfekt. Danke für die schnelle Hilfe!

Gruß Admiral


----------

