Ich meinte eh Programme die nur zeichnen. Wenn ich Component-Subklassen verwende nutze ich natürlich auch selbst JLabels.
Aber man muss ja erst Position setzen:
Java:
setBounds(x, y, breite, hoehe);
Bei Paint benötigt man keine Größenangaben.
Und dann halt noch add();
Also hat man im Endeffekt:
Java:
SomeObj sOj = this.getSomeObj();
JLabel label = new JLabel(sOj.getIcon());
label.setBounds(0, 0, 10, 10);
jframe.add(label);
Bei Paint:
Java:
SomeObj sOj = this.getSomeObj();
g.drawImage(sOj.getImage, sOb.getX(), sOb.getY(), this);
Zudem zeichnen die meisten User von JLabel's noch nicht direkt auf das JFrame sondern klatschen es vorher auf ein JPanel. Ich weiß nicht warum, ist wohl eine Art Doppelbuffer. Da afaik neue Swing-Komponenten unter dem Vorherigen dazugefügt werden, müssen nicht nur verkehrt damit gezeichnet werden (Background als letztes usw.), sondern das alte JPanel später noch entfernt werden. Finde ich viel komplizierter als einfach alles direkt auf was draufzuzeichnen.
Ich hoffe das ist jetzt alles soweit richtig, habs ein paar mal zum testen soeinen Zeichenvorgang gebastelt, fand aber wie gesagt alles viel zu kompliziert.
btw. Zwar braucht man natürlich schon die Grundlagen, aber ich denke dass es einfacher ist mit einem Projekt zu arbeiten, wenn man etwas sieht. Vor allem als Anfänger(in?). Aber ich habe als Anfänger immer alles gethrowt, bis ich mit Threads angefangen habe, danach alle Try/Catch einfach in andere Methoden ausgelagert.
Na ja, ist nur meine Meinung. Natürlich bin ich selbst bei weiten nicht so gut wie du, deshalb erwarte ich gespannt deine Antwort.
