Originariamente inviato da EngLab
Codice PHP:
    public void setComponent(Object component) {
                if (
component instanceof JLabel) {
                ((
JLabelcomponent).setText(text);
            } else if (
component instanceof JButton) {
                ((
JButtoncomponent).setText(text);
            } else if (
component instanceof JMenuItem) {
                ((
JMenuItemcomponent).setText(text);
            } else if (
component instanceof JMenu) {
                ((
JMenucomponent).setText(text);
            } else if (
component instanceof TitledBorder) {
                ((
TitledBordercomponent).setTitle(text);
            } else if (
component instanceof JRadioButton) {
                ((
JRadioButtoncomponent).setText(text);
            } else if (
component instanceof JCheckBox) {
                ((
JCheckBoxcomponent).setText(text);
            } else if (
component instanceof String) {
                
component = new String(text);
            }
    } 
Il metodo funziona benissimo per tutti i componenti swing, non funziona però per String.
Mi spiace ma ....
1) Perché hai dovuto fare un metodo (fumoso e dubbio) del genere ... non è chiaro!
2) Perché vorresti farlo per String .... non è chiaro!
3) Tra l'altro non ha nemmeno senso, primo perché le stringhe sono oggetti "immutabili" ma secondo, poi comunque anche se quel parametro 'component' fa riferimento ad un oggetto String eseguire component=unaAltraStringa; va solo a cambiare il reference che è contenuto nel parametro (che è "locale").
E tutto questo perché in Java il passaggio dei parametri è sempre per valore, per i tipi reference viene passata una copia del valore del reference.