Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
ich arbeite mit Eclipse und versuche verzweifelt ein jLabel public zu setzen.
In der Sourceansicht kann ich das nicht editieren. Also geh ich in der Designansicht unter Properties auf Code und dort auf Variable Modifiers und setze den Access auf public.
Und siehe da... Nichts passiert
Füge ich nun z. B. den mouseEntered Event hinzu und gehe zurück in die Sourceansicht - warum zur Hölle steht da immer noch private void und ich kann nichts zurückgeben???
Eclipse und man kann nichts editieren? Ich arbeite auch mit Eclipse und ich komme im normalfall an allen Quellcode ran. Wenn es sich nicht auf public setzten lässt kannst immer noch mit getters und setters arbeiten.
warum da private void steht? Wo steht des? Sicher nicht beim Label, es sei denn du machst eine Methode draus
jo richtig, ich mach ne Methode draus, mouseEntered. Und da is dann im SourceCode so n grauhinterlegter Text in dem ich nix ändern kann
Java:
private void frontLabelMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
ich kann nur beim Kommentar Änderungen vornehmen. Aber ich will diese Methode public haben. die soll nen Wert zurückgeben soll wenn auf den label geklickt wurde
private und public haben aber nichts mit Rückgabewerte zu tun. Was willst denn mit der Rückgabe machen? Und der grau hinterlegte Text ist Kommentar, den kannst einfach löschen
Ich glaub, du hast einen Denkfehler drin. Ein Mouseklicked oder sonst ein Event, wird ja von einem Mausklick ausgeführt. Und wenn eine Methode was zurück gibt, dann an den, der sie ausführt, bzw aufruft.
Dementsprechend müsste ja dein Mausklick einen String zurückbekommen.
Man kann auch einfach in der Methode, den setText() des Labels aufrufen und dann einfach da rein schreiben.
wieso rufst du in deiner frontLabelMouseClicked nicht einfach eine neue methode auf, der du den string übergibst, irgnedwas dmait machst und dann gibt halt deine methode einen string zurück ?
und
public string spieler = spielerEingabe.text; .... das public hat da garnichts zu suchen ?! ;D
das hat nichts mit dme label zu tun. du kannst allgemein keine zugriffsmodifier für lokale variablen anlegen. wieso auch, die sind nunmal nur innerhalb dieser methode/block sichtbar ?!
Ich glaube, da ist ein grundlegender Denk-/Designfehler drin.
Innerhalb von Methoden werden methodenlokale Variablen definiert. Ausserhalb der Methode sind die nicht sichtbar. Was anderes geht nicht. Du könnstest also eine Klassenvariable definieren (also quasi Global für die Klasse) und darauf von einer anderen Klasse zugreifen. Gerne macht man das mit Getter/Setter Methoden. (In Eclipse auf die fragliche Variable, rechte Maustaste - Source - Generate Getter/Setter).