Component Frage

PositivDenker

Mitglied
Code:
class ... extends Frame
{
Label lab_beschriftung= new Label("Höhe: ");
...
Component [] alle_componente = this.getComponents();

for (int i=0; i<alle_componente.length;i++)
       System.out.println (
         alle_componente[i].getName().toString());
Warum liefert getName() nur z.B. das: "label0" , und nicht "lab_beschriftung" ?:confused:
 
Zuletzt bearbeitet:
Was willst du denn machen?

Wenn es sich um ein Feld deiner Klasse handelt kommst du da über Reflection ran. Ansonsten gibt getName nur den Namen der Komponente zurück aber das ist nicht der Variablenname.
 
Hallo,

weil lab_beschriftung nicht der Name des Labels ist, sondern nur der Name der Variable. Wenn du einen bestimmten Namen dem Label zuweisen möchtest, kannst du das mit setName tun.

MFG

Sascha
 
Danke für Hilfe!:)
Wenn ich richtig verstanden habe, es gibt keine Funktion, um von Objekt aus seinen Namen (lab_beschriftung) zubekommen? (ohne setName()-Funktion, weil es einbischen dumm ist : zwei Mal Object zu benennen).(!)
 
Nicht ganz. lab_beschriftung ist ja nicht der Name des Objects, sondern nur der Name der Variable.

Code:
JLabel label = new JLabel();
JLabel label2 = label;

Wie wäre es dann in diesem Fall. label und label2 zeigen auf das gleiche Object. Was wäre dann der Name? :-)

Also den String den du bei getName zurück bekommst, hat nichts mit der Variable zu tun.

MFG

Sascha
 
Oder sowas:
Java:
public class Shadowing {

	JLabel label = new JLabel();

	public Shadowing() {
		JLabel label = new JLabel();
	}

}

welches is nun welches? ;)
 
Danke für Hilfe!:)
Wenn ich richtig verstanden habe, es gibt keine Funktion, um von Objekt aus seinen Namen (lab_beschriftung) zubekommen? (ohne setName()-Funktion, weil es einbischen dumm ist : zwei Mal Object zu benennen).(!)

Grüß Dich ...
wenn man den Constructor sich mal anschaut (Label(String))
und das ganze ein wenig weiter verfolgt ... Label(String,int)
wird man feststellen, dass hier die Membervariable text von Label befüllt wird, getName() von der Klasse Component jedoch die Membervariable name anspricht.
Also um das zu tun was Du in Deinem ersten Codebeispiel veranschaulicht hast, möchstest Du sicher mit Label.getText() den Inhalt des Textes Deines Labels haben.

viel Spaß

Takidoso
 
Zuletzt bearbeitet:
Zurück