Originariamente inviato da andbin
Il punto è innanzitutto "concettuale". Passando un nome di classe, il tipo di componente non è noto a priori, nel senso che dipende appunto da chi/come sceglie quale nome di classe passare.

Il newInstance ti dà un Object in senso generico, certo. Tu potresti anche fare un cast, ad esempio a Component (la "base" di tutti i componenti).
Per setName non ci sarebbero problemi ... è di Component cioè la proprietà "name" esiste per tutti i componenti, è generica.
Per setText .... no. Va bene per un JLabel o JButton o JTextField ma non ad esempio per JComboBox, JList.

Quindi o mi spieghi perché vuoi creare un componente che "non sai" ma volendo settare un "text" (che non sai a priori se possibile) oppure l'unica che posso risponderti è di usare la "reflection" (e se non direttamente, anche attraverso le classi del package java.beans, dedicato appunto ai "bean").
Vorrei aggiungere qualsiasi componente richiamando nel main solo addComponents(). quindi in altre parole adottare un inserimento dinamico. esempio: addComponents(JLabel) o addComponents(JPanel) o addComponents(JButton), ecc. Ovviamente addComponents() dovrà ricavare un oggetto generico perchè non sa a priori che tipo di oggetto io gli passo, di conseguenza vorrei che addComponents() capisca che tipo di oggetto è (magari tramite classe, o qualsiasi altra cosa) e ne attribuisca i metodi appriopriati. Ribadisco: sempre se è possibile.
Grazie mille,
Gabriele