我有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"));
}
但是我似乎无法做到这一点。
有没有将标签和面板标识符传递给另一种方法?
答案 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) {
...
}
}