Java: passer un identifiant d'étiquette sous forme de chaîne


J'ai 4 ou 5 si les déclarations du contrôle d'un label et a panneau de et {j'ai[7]}16 étiquettes et panneaux de.

Pour le moment, je voudrais raccourcir cela en passant les identifiants d'étiquette et de panneau dans une autre méthode et j'ai essayé de le faire en tant que String comme ceci

String panel="fourFour";
String label="lFourFour";
imaging(panel, label, damage, 4, 4);

public void imaging(String panel, String label, int[]damage, int x, int y){

    if (Game.here(x,y)==1) {
        Color myColor = Color.decode("#8C0834");
        panel.setBackground(myColor);
        label.setIcon(new ImageIcon("Space.jpg"));
    }

Cependant, il semble que je ne puisse pas le faire.

Existe-t-il de toute façon pour passer les identifiants d'étiquette et de panneau dans une autre méthode?

Author: CoderCroc, 2014-04-13

1 answers

Vous pouvez créer une classe spécialisée pour une fonctionnalité aussi souvent utilisée, par exemple:

public class DamagePanel extends JPanel {
    private JLabel label;

    public DamagePanel(final String ident) {
        label = new JLabel(ident);
        this.add(label);
    }

    public String getIdent() {
        return label.getText();
    }

    public void reportDamage(int[]damage, int x, int y) {
        ...
    }
}
 1
Author: Maarten Bodewes, 2014-04-13 10:48:48