Hi,
wer mein halbfertiges Programm anschauen möchte kann das hier tun:
http://dl.dropbox.com/u/13930600/T_Konto.txt
Es geht um eine Linie ich möchte gerne eine Line von oben nach unten genau in die Mitte platzieren, ich hab gelesen das das mit paint funktioniert. Kann mir jemand erklären wie das möglichst einfach geht?
so nach JFrame.drawLine(Länge:400; Position: von oben nach unten in der mitte) 
Lg Dennis
Danke schon mal im Voraus!
Hi,
ich hab dein Programm jetzt nur überflogen.
Grundsätzlich zeichnet man in der paint-Methode:
public void paint(Graphics g) {
g.drawLine(getWidth()/2, 0, 0, 400);
}
Da du allerdings Komponenten wie Textfelder auf einem Container platzierst, wird deine schöne Linie von dem Container überdeckt. Am leichtesten wäre es vermutlich eine Klasse zu schreiben, die von JPanel erbt, in die du reinzeichnest.
Grüße, Keks
Hi,
Du hast recht mit der Paint-Methode war nur noch der Strich zusehen 
Aber wie mache ich das den jetzt? Gibt es nicht so etwas, um das einfach so hinein setzen zu können?
So nach dem Motto:
private JLinie linie = new JLinie();
linie.setBounds(50, 50, 50, 100); //xy-Anfang und xy-Ende
cp.add(linie);
Lg Dennis
Hallo,
am einfachsten geht es, wenn du die paint-Methode deines Containers überschreibst.
Bsp.:
@Override
public void paint(Graphics g) {
**super.paint(g);**
g.drawLine(getWidth() / 2, 0, getWidth() / 2, getHeight());
}
Die Zeile
super.paint(g);
sorgt dafür, dass nicht nur die Linie sondern auch die anderen Komponenten gezeichnet werden und dann die Linie.
Gruß, sagitta1793
Hallo Denni,
also ich muss sagen der Quelltext ist recht…hmm chaotisch 
aber das kommt mit der Zeit… mein erstes Programm sah auch nicht viel besser aus.
Arbeitest du mit Eclipse?
Naja… zu deiner Frage
Man kann so eine Linie theoretisch als Objekt erstellen aber da kommst du um JComponent nicht drumherum:
public class Linie extends JComponent{
public void paintComponent(Graphics g){
//Zeichnet eine Linie von Mitte-Oben nach Mitte-Unten
g.drawLine(getWidth()/2,0,getWidth()/2,getHeight());
}
}
Du kannst natürlich auch ne anonyme Klasse draus machen:
JComponent linie = new JComponent(){
public void paintComponent(Graphics g){
//Zeichnet eine Linie von Mitte-Oben nach Mitte-Unten
g.drawLine(getWidth()/2,0,getWidth()/2,getHeight());
}
};
Aber das bleibt dir überlassen.
Übrigens, wenn du ein Fenster auf dem Bildschirm zentrieren willst, musst du nicht ungedingt selbst den ganzen Kram berechnetn. Du kannst auch einfach setLocationRelativeTo(null) aufrufen und dadurch passiert das gleiche.
Und ich würde dir nahe legen, einen Layoutmanager zu benutzen, weil das auf Dauer angenehmer ist als alles selbst zu machen.
Schau dir dazu das GridBagLayout mal an 
Gruß
Swen
Hi,
danke für die Antwort habe es aber schon lengst gelöst!
Der caotische Code ist so gewollt hatte Gründe die ich später erst hinzugefügt habe und passt schon 
Übrigens, wenn du ein Fenster auf dem Bildschirm zentrieren willst, musst du nicht ungedingt selbst den ganzen Kram berechnetn. Du kannst auch einfach setLocationRelativeTo(null) aufrufen und dadurch passiert das gleiche.
Wusste ich schon aber mach ich aus Gewohnheit!
Und ich würde dir nahe legen, einen Layoutmanager zu benutzen, weil das auf Dauer angenehmer ist als alles selbst zu machen.
Ne find ich nicht mache ich gerne so 
Lg Denni