Abgeleitetes JLabel

fighter

Mitglied
Ich habe eine von JLabel abgeleitete Klasse und passe das Objekt im Konstruktor nach Belieben an:
Java:
public class label extends JLabel {
  label(){
    super("irgendwas");
    setFont(getFont().deriveFont(10));
    setHorizontalALignment(JLabel.CENTER);
    setBackground(new Color(100,100,100));
    // u.s.w
  }
}
In einer anderen Klasse , einer Frame-Klasse , habe ich ein label als Attribut , initialisiere es in dessen Konstruktor und füge es dem Frame hinzu .
Problem : Das Label-Objekt wird nicht angepasst . Ich habe auch schon versucht , die von JLabel geerbten Methoden mit super oder this aufzurufen , kein Unterschied .
Wo liegt das Problem ?
 
Zuletzt bearbeitet von einem Moderator:

Thallius

Top Contributor
Und wir sollen jetzt unsere Glaskugeln rausholen oder was?

Wie wäre es mal mit nen bisschen Code wo Du das Lable erstellst
 

Harry Kane

Top Contributor
Ich habe eine von JLabel abgeleitete Klasse und passe das Objekt im Konstruktor nach Belieben an
So wie du es implementiert hast, ist das ganze sehr unflexible. Wenn du einen anderen Text als "irgendwas" oder eine andere Farbe als grau brauchst, schreibst du dann eine neue Klasse?
Du solltest entweder bei der Erzeugung des JLabels die setter-Methode mit den gewünschten Parametern aufrufen, oder dir eine Factory-Klasse schreiben:
Java:
public class JLabelFactory{
   private Color defaultBackground;
   public JLabelFactory(Color defaultBackground){
     this.defaultBackground = defaultBackground;
   }
   public JLabel createLabel(String text{
     return createLabel(text, defaultBackground)
   }

   public JLabel createLabel(String text, Color background){
     JLabel result = new JLabel(text);
     result.setFont(result.getFont().deriveFont(10));
     result.setBackground(background);
     
   }
}
Ansonsten stimme ich Thallius vollkommen zu. Mich erstaunt es immer wieder, auf welch dünner Faktenlage Leute tatsächlich Antworten erwarten.o_O
 

fighter

Mitglied
Der Fragesteller kennt das Problem nicht , darf davon ausgehen , der Fehler könnte sich bereits in dem kleinen Codeabschnitt befinden . Und genauso war es letztlich auch : Die Hintergrundfarbe des Labels war nicht sichtbar, weil die Durchsichtigkeit nicht gesetzt wurde ; das hat man bereits mit dem oben gegebenen Code sehen/zumindest vermuten können . Danke für den Tipp , aber die Aufgabenstellung hat erfordert , die Eigenschaften des Labels im Konstruktor zu setzen. Und der Joke mit der Glaskugel ist mittlerweile deprecated.
 

Harry Kane

Top Contributor
das hat man bereits mit dem oben gegebenen Code sehen/zumindest vermuten können
Und genau auf dieses "vermuten" (auch gerne bezeichnet als "rumraten") dürften die meisten keine Lust haben. Wenn du sowas gesagt hättest wie "Schriftart wird gesetzt, Hintergrundfarbe nicht", hätte man vielleicht drauf kommen können.
Und wenn es um eine Aufgabe geht, bei der du dich an Vorgaben halten musst, kannst du das auch gerne direkt sagen, damit Leser mit architektonischen Verbesserungsvorschägen gleich zum nächsten Beitrag springen können.
 

fighter

Mitglied
Der eigentliche Fehler besteht doch darin , davon auszugehen , jeder müsste einschätzen können , wie viele Informationen notwendig sind , um einen Fehler eindeutig fest zu machen. Und dieser wird dann mit "Und wir sollen jetzt unsere Glaskugeln rausholen oder was?"
oder auch "Ansonsten stimme ich Thallius vollkommen zu. Mich erstaunt es immer wieder, auf welch dünner Faktenlage Leute tatsächlich Antworten erwarten."
kommentiert. Das geht auch sachlicher und zielführender ; vor allem dann , wenn man sich über eine "dünne Faktenlage" beklagt , weil der Fehler so nicht zielführend gefunden werden kann. Wenn sich da mal nicht jemand selbst wiederspricht :)
Ich sehe ein , dass es besser gewesen wäre , mehr Info zu liefern.
 

VirtualIndex

Aktives Mitglied
Etwas Off-Topic für das Thema, aber ich möchte das hier endlich mal loswerden und stimme da fighter voll und ganz zu. Hier werden öfter mal mehr Infos erwartet als wirklich benötigt werden oder es wird direkt pampig geantwortet, wenn ein Neuling etwas falsch einschätzt. Nettes Nachfragen sollte der 1. Weg bei jedem sein, dann kann man bei Sturrheit/Ignoranz immer noch konkreter werden. Das gleiche Phänomen kann man auf StackOverflow beobachten.
 

Harry Kane

Top Contributor
Das geht auch sachlicher und zielführender ; vor allem dann, wenn man sich über eine "dünne Faktenlage" beklagt , weil der Fehler so nicht zielführend gefunden werden kann. Wenn sich da mal nicht jemand selbst wiederspricht.
Wie du die dünne Faktenlage etwas dicker hättest machen können hat Thallius beschrieben, nämlich mit etwas mehr Code zur Verwendung deiner Klasse. Wenn du aus der Tatsache, dass ich das Offensichtliche nicht nochmal mit eigenen, ausführlichen, Worten beschrieben habe, einen Widerspruch konstruieren möchtest: gerne. Ich sehs anders.
Was soll man anhand der Fehlerbeschreibung
Problem: Das Label-Objekt wird nicht angepasst
denn anderes vermuten, als dass das abgeleitete JLabel falsch oder gar nicht verwendet wird?
Wenn lediglich der fehlende Call von setOpaque(true) die Fehlerursache war, kann eigentlich nur das setzen der Hintergrundfarbe ignoriert worden sein. Alle anderen Änderungen hätten greifen müssen. Deine Problemschilderung klingt aber anders.
 

fighter

Mitglied
Was soll man anhand der Fehlerbeschreibung
denn anderes vermuten, als dass das abgeleitete JLabel falsch oder gar nicht verwendet wird

Damit hast du eigentlich gerade gesagt , dass die anfängliche Faktenlage nur einen einzigen Schluss zugelassen hat. Oben hast du noch von "rumraten" gesprochen. Widerspricht sich. Der Inhalt des Zitats wäre wohl zielführender gewesen als die alte Glaskugel zu suchen , oder ? (Ohne Metapher : es wäre besser gewesen , die Schlussfolgerung in dem Zitat zu posten als sich plump zu beklagen)
Ich habe aber bereits vermerkt , dass es besser gewesen wäre, mehr Infos zu liefern. Mir ging es eher darum : Ein Neuling kann die zur Fehlererkennung notwendigen Informationen nicht unbedingt erfassen. Dies hier ist ein Forum , in dem Neulinge Fragen stellen dürfen. Sollte daraus nicht folgen , dass auch diese "mangelnde Kompetenz" bei der Beantwortung der Fragen berücksichtigt werden sollte ? Die obigen , plumpen Antworten erfüllen das ganz offensichtlich nicht. Die Hilfe hier ist freiwillig, man kann sich das Klagelied also durchaus sparen :)
 

Harry Kane

Top Contributor
Damit hast du eigentlich gerade gesagt , dass die anfängliche Faktenlage nur einen einzigen Schluss zugelassen hat.
Ja, nämlich den, dass der eigentliche Fehler nicht in der label-Klasse liegt. Und daraus wiederum ergibt sich zwingend die Notwendigkeit, mehr Code zu sehen. Eigentlich eine ganz einfache Sache.
Oben hast du noch von "rumraten" gesprochen. Widerspricht sich.
Von "rumraten" habe ich in einem anderen Kontext gesprochen, den ich oben auch zitiert habe. Spannend, wo du überall Widersprüche reinkonstruierst. Die Phase des "rumratens" fängt erst dann an, wenn jemand ohne mehr Code zu bekommen, trotzdem wissen/erkennen soll, wo der Fehler liegt, wie du es ja mit
das hat man bereits mit dem oben gegebenen Code sehen/zumindest vermuten können
quasi "eingefordert" hast.

Fakt ist:
Du hast offenbar eine Fehlerbeschreibung geliefert, die geeignet ist, die Fehlerursache dort zu vermuten wo sie gar nicht ist. Um diese Vermutung zu überprüfen, wurden Informationen angefordert auf eine Weise, wie sie in vielen Foren üblich ist. Das kannst du gerne für „plump“ halten.

Und was deine Fehlerbeschreibung angeht: wenn du in deiner Gui siehst, dass die Eigenschaften Text, Schrift, Horizontal Alignment und was auch immer sich in deinem Codeschnipsel hinter „u.s.w.“ verbirgt, korrekt gesetzt werden, die Hintergrundfarbe als einzige Eigenschaft aber offenbar nicht, und du dann den Fehler beschreibst mit „Das Label-Objekt wird nicht angepasst“, ist die Fehlerbeschreibung irreführend. Das ist kein Mangel im Hinblick auf die Informationsmenge, sondern auf deren Qualität. Ich stimme mit dir überein, dass ein Anfänger nicht imstande sein muss, abzuschätzen,
wie viele Informationen notwendig sind , um einen Fehler eindeutig fest zu machen
, und es ist m. E. auch korrekt, zu sagen:
Ein Neuling kann die zur Fehlererkennung notwendigen Informationen nicht unbedingt erfassen.
Aber zumindest die Informationen die geliefert werden, sollten korrekt sein.
 

fighter

Mitglied
Diese Diskussion ist sinnlos , du drehst und wendest Geschriebenes , wie es dir passt. Du beklagst dich übers Rumraten, folgerst aber klar und deutlich , der Fehler liege nicht in der Label-Klasse. Später sei das "Rumraten" in einem anderem Kontext gemeint , nämlich dann , wenn nicht genug Informationen zur Verfügung stünden . Und genau das war doch der Fall .
Ich stimme mit dir überein, dass ein Anfänger nicht imstande sein muss, abzuschätzen,
, wie viele Informationen notwendig sind , um einen Fehler eindeutig fest zu machen .
In deiner ersten Nachricht jedoch :
Mich erstaunt es immer wieder, auf welch dünner Faktenlage Leute tatsächlich Antworten erwarten.o_O
Das spricht so ziemlich für sich.
Also :
Spannend, wo du überall Widersprüche reinkonstruierst.
Spannend , immerhin lieferst du sie mir. Deine letzte Nachricht ist eine offensichtliche Verlegenheitslösung , keinerlei Eingeständnisse machen zu müssen.
Um diese Vermutung zu überprüfen, wurden Informationen angefordert auf eine Weise, wie sie in vielen Foren üblich ist. Das kannst du gerne für „plump“ halten.
Du rechtfertigst schlechte Etikette in diesem Forum mit der in anderen Foren, das ist deine Logik. Spätestens hier wundert mich nichts mehr. Einen schönen Abend noch :)
 

Thallius

Top Contributor
Wenn es dir hier nicht gefällt, dann Versuch es mit deiner Art doch wo anders. Besonders bei StackOverflow dürftest du dabei super ankommen. Dort hättest du für dein eröffnungsthread gleich erstmal 10-20 Punkte negatives Karma bekommen. Aber wahrscheinlich hast du da schon -100 Punkte und bist deshalb hier gelandet.
 

Harry Kane

Top Contributor
So wie es aussieht, fällt dir nichts mehr ein ausser dem Wiederholen deiner These, ich würde mir selbst widersprechen, und einer zunehmend persönlicheren /beleidigenderen Rhetorik. Zu letzterem: da beklagt sich der richtige über "schlechte Etikette".
 

Flown

Administrator
Mitarbeiter
Also wenn das jetzt nicht zum ursprünglichen Problem zurückkehrt, dann wird dieses Thema hier geschlossen!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
R Möglichkeiten ein abgeleitetes Objekt zu erzeugen AWT, Swing, JavaFX & SWT 4
E abgeleitetes JTextfield AWT, Swing, JavaFX & SWT 4
S abgeleitetes JPanel AWT, Swing, JavaFX & SWT 2
G Problem mit der Anzeige von jLabel. Unlesbar wenn der Text geändert wird. AWT, Swing, JavaFX & SWT 28
C Swing Übergabe von String an JLabel AWT, Swing, JavaFX & SWT 9
H Swing Anpassen der Textgröße im JLabel funktioniert nur bedingt AWT, Swing, JavaFX & SWT 7
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
D JLabel übereinanderlegen AWT, Swing, JavaFX & SWT 5
E JLabel kopieren AWT, Swing, JavaFX & SWT 31
R Text vom Jlabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
kodela HTML-tags für JLabel AWT, Swing, JavaFX & SWT 9
J Swing JLabel Verknüpfung aktualisieren AWT, Swing, JavaFX & SWT 3
L Swing JLabel wird beim ändern der Schriftart immer neu gezeichnet. AWT, Swing, JavaFX & SWT 2
F JLabel mit ImageIcon per Button bewegen AWT, Swing, JavaFX & SWT 4
H String teilen, damit bei JLabel keine Punkte am Ende angezeigt werden AWT, Swing, JavaFX & SWT 4
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
E JLabel AWT, Swing, JavaFX & SWT 1
K JLabel mit Bilder im nicht initialisierten JPanel hinzufügen AWT, Swing, JavaFX & SWT 5
I JLabel neue Zeile AWT, Swing, JavaFX & SWT 4
L JLabel ist verzerrt/größer als eingestellt AWT, Swing, JavaFX & SWT 15
B Observer Pattern JLabel ändern AWT, Swing, JavaFX & SWT 7
R Kann JLabel in ActionListener nicht aufrufen AWT, Swing, JavaFX & SWT 4
E Wie kann ich ein JLabel auf größe der schriftlänge setzten? AWT, Swing, JavaFX & SWT 2
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
BreakdownBob Swing JLabel verschwindet hinter Image AWT, Swing, JavaFX & SWT 2
L Kalendar als JLabel einfügen AWT, Swing, JavaFX & SWT 3
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
it_is_all jLabel.setText -> Char in Str: NullpointerException AWT, Swing, JavaFX & SWT 1
4 Swing JLabel wird ,,abgehackt" AWT, Swing, JavaFX & SWT 3
it_is_all JLabel.setIcon - funktioniert nicht mehr AWT, Swing, JavaFX & SWT 2
P Aktualisierung von jLabel in jFrames AWT, Swing, JavaFX & SWT 8
DaCrazyJavaExpert Swing JLabel Klickanimation AWT, Swing, JavaFX & SWT 4
A Swing JLabel als Parameter übergeben AWT, Swing, JavaFX & SWT 9
M JLabel ausrichten AWT, Swing, JavaFX & SWT 2
S JLabel setText() Problem AWT, Swing, JavaFX & SWT 6
Z jLabel von Methode aus aktualisieren AWT, Swing, JavaFX & SWT 7
T JLabel Textinhalt von Oben anzeigen AWT, Swing, JavaFX & SWT 1
N JLabel in JTabbedPane verschieben AWT, Swing, JavaFX & SWT 2
N JLabel ändern während Programm ausgeführt wird AWT, Swing, JavaFX & SWT 4
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
Thallius Swing "..." beim JLabel verhindern? AWT, Swing, JavaFX & SWT 3
OlafHD JLabel im JFrame Zentrieren AWT, Swing, JavaFX & SWT 2
T Event Handling JLabel als eigener Button AWT, Swing, JavaFX & SWT 7
T JLabel wird nicht angezeigt AWT, Swing, JavaFX & SWT 2
KilledByCheese Swing 2D JLabel Array Maze zeichnen AWT, Swing, JavaFX & SWT 2
D Swing keine JLabel-Aktualisierung bei "externem" Aufruf durch Helferklasse AWT, Swing, JavaFX & SWT 10
S jLabel HTML Formatierung AWT, Swing, JavaFX & SWT 2
J Statisches JLabel adden AWT, Swing, JavaFX & SWT 4
J JLabel Visible setzen in KeyListener AWT, Swing, JavaFX & SWT 13
T JLabel in die Mitte(JLabel.CENTER geht nicht) AWT, Swing, JavaFX & SWT 12
2 JLabel - setText ändert den Text nicht AWT, Swing, JavaFX & SWT 4
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
stylegangsta JLabel anzuzeigenden Text zentrieren AWT, Swing, JavaFX & SWT 9
K Swing unterschied JTextField und JLabel AWT, Swing, JavaFX & SWT 7
F Swing JLabel in JFrame anpassen AWT, Swing, JavaFX & SWT 20
E JLabel aus Runnable ändern AWT, Swing, JavaFX & SWT 2
Z AWT JLabel setzt kein neuen Text AWT, Swing, JavaFX & SWT 6
D JLabel bei Aufruf neue Zeile AWT, Swing, JavaFX & SWT 5
W Swing JLabel jede Sekunde aktualisieren, ohne Timer zu benutzen AWT, Swing, JavaFX & SWT 4
F ListCellRenderer mit JLabel und MouseListener AWT, Swing, JavaFX & SWT 4
F Swing JLabel wird nicht sofort Angezeigt AWT, Swing, JavaFX & SWT 3
D Timer für Bildfolge in einem jLabel AWT, Swing, JavaFX & SWT 5
S JLabel-Text in Methode setzen? AWT, Swing, JavaFX & SWT 2
GreyFox JLabel in laufender Anwendung erzeugen AWT, Swing, JavaFX & SWT 6
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
Z Auf ein JLabel drauf malen? AWT, Swing, JavaFX & SWT 1
S JLabel in den Vordergrund rücken AWT, Swing, JavaFX & SWT 1
A JLabel hochzählen lassen. AWT, Swing, JavaFX & SWT 6
S JLabel mit ImageIcon, komischer Rahmen? AWT, Swing, JavaFX & SWT 2
I Swing JLabel Bild für 1sec anzeigen lassen AWT, Swing, JavaFX & SWT 13
S JLabel anordnen AWT, Swing, JavaFX & SWT 2
J ungewollt-automatische Größenänderung von JLabel AWT, Swing, JavaFX & SWT 5
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
L 2D-Grafik PNG Datei in JLabel Array Problem AWT, Swing, JavaFX & SWT 4
S Swing Exception in thread "AWT-EventQueue-0" bei Jlabel AWT, Swing, JavaFX & SWT 4
B Swing JLabel und LayoutManager AWT, Swing, JavaFX & SWT 20
M Bild aus JLabel resizen und speichern AWT, Swing, JavaFX & SWT 0
A Swing JLabel/JTextField Inhalt mit JSlider verändern AWT, Swing, JavaFX & SWT 12
O Statusleiste mit JLabel aktualisieren AWT, Swing, JavaFX & SWT 5
G jLabel aus anderem Fenster ändern AWT, Swing, JavaFX & SWT 7
T JLabel Nullpunkt verschieben AWT, Swing, JavaFX & SWT 6
F Swing JPanel mit JLabel spinnt? AWT, Swing, JavaFX & SWT 2
M Massenweise JLabel ? oder ? AWT, Swing, JavaFX & SWT 3
J JLabel während einer methode aktualisieren AWT, Swing, JavaFX & SWT 6
R AWT JLabel oder JButton aktualisieren AWT, Swing, JavaFX & SWT 1
N JLabel HTML mit custom Font AWT, Swing, JavaFX & SWT 0
V JLabel bzw. GUI aus externen Thread ansteuern AWT, Swing, JavaFX & SWT 3
G JLabel verdeckt AWT, Swing, JavaFX & SWT 12
A JLabel zeichendicke einstellen AWT, Swing, JavaFX & SWT 3
B Repaint auf JFrame, JLabel und ImageIcon AWT, Swing, JavaFX & SWT 4
S JLabel zeigt ImageIcon nicht AWT, Swing, JavaFX & SWT 13
S jLabel / jText beim starten ausblenden AWT, Swing, JavaFX & SWT 2
A Array von JLabel mit Grafiken anzeigen AWT, Swing, JavaFX & SWT 3
T Swing HTML Text aus JLabel ohne "HTML-Tags" in String einlesen AWT, Swing, JavaFX & SWT 5
A JLabel im Listener färben AWT, Swing, JavaFX & SWT 11
M JLabel über JButtons zeichnen AWT, Swing, JavaFX & SWT 4
T Kreis in Jlabel darstellen. AWT, Swing, JavaFX & SWT 13

Ähnliche Java Themen

Neue Themen


Oben