Java:将标签标识符作为字符串传递

时间:2014-04-13 10:34:19

标签: java label panel

我有4或5个if语句控制标签面板,我有 16个标签和面板

目前我想通过将标签和面板标识符传递到另一种方法来缩短这一点,并尝试将此作为String这样做

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"));
    }

但是我似乎无法做到这一点。

有没有将标签和面板标识符传递给另一种方法?

1 个答案:

答案 0 :(得分:1)

您可以为这种常用功能制作专门的课程,例如:

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) {
        ...
    }
}