wie kann ich ein Objekt manupulieren dass ich erzeuge ohne die referenz zu speichern. Folgenden Code hab ich:
view.add(new JLabel(„Auftragsnummer“));
Nun kann ich die Schrift eines JLabels mit der Methode setFont ändern, wie greife ich aber auf diese Methode zu wenn ich der add-Methode direkt ein neues JLabel per new übergebe?
Zweite Frage:
ich habe bei einer Internetrecherche folgenden Code gefunden und würde gerne wissen wie man diese „Technik“ nennt.
Ist ja im Prinzip eine überschreibung bei Instantzierung oder?
JTable tabelleErgebnisse = new JTable(model)
{
public boolean isCellEditable(int x, int y)
{
return false;
}
};
wie kann ich ein Objekt manupulieren dass ich erzeuge ohne die
referenz zu speichern. Folgenden Code hab ich:
view.add(new JLabel(„Auftragsnummer“));
Nun kann ich die Schrift eines JLabels mit der Methode setFont
ändern, wie greife ich aber auf diese Methode zu wenn ich der
add-Methode direkt ein neues JLabel per new übergebe?
Warum machst du das?
Du kannst prinzipiell ein Objekt direkt bei der Erstellung ohne Referenz manipulieren:
(new JLabel("xx")).setText("yy");
Da ‚setText‘ eine void Methode ist kannst du das Ergebnis aber nicht der add-Methode übergeben.
‚view‘ dürfte ja ein java.awt.Container sein, angenommen das Label wurde als erste Komponente hinzugefügt kannst du mittels ‚getComponent‘ wieder darauf zugreifen
Component c = view.getComponent(0);
if(c instanceof JLabel) {
JLabel l = (JLabel) c;
l.setFont(myFont);
}
Ich bevorzuge allerdings
JLabel label = new JLabel("xxx");
label.setFont(myFont);
Zweite Frage:
ich habe bei einer Internetrecherche folgenden Code gefunden
und würde gerne wissen wie man diese „Technik“ nennt.
Es sind halt 18 Label und hatte gedacht es geht vielleicht einfacher als allen nen Namen zu verpassen und dann die Methode aufzurufen. aber werde es dann doch so machen.
Es sind halt 18 Label und hatte gedacht es geht vielleicht
einfacher als allen nen Namen zu verpassen und dann die
Methode aufzurufen. aber werde es dann doch so machen.
Es sind halt 18 Label und hatte gedacht es geht vielleicht
einfacher als allen nen Namen zu verpassen und dann die
Methode aufzurufen. aber werde es dann doch so machen.
Es geht noch ein wenig einfacher…mittels einer Methode die das für dich übernimmt. Bsp:
private void addLabel(String labelName){
JLabel l = new JLabel(labelName);
l.setFont("font");
l.setSize(new Dimension(100,100)); //was auch immer
view.add(l);
}
private void initView(){
addLabel("1");
addLabel("2");
}