可以用 for 循环来做到这一点吗?
public class MainScreen extends javax.swing.JFrame {
private final Map<String, JButton> buttonMap = new HashMap<String,JButton>();
public MainScreen() {
buttonMap.put("utilaj1", utilaj1);
buttonMap.put("utilaj2", utilaj2);
buttonMap.put("utilaj1", utilaj1);
buttonMap.put("utilaj2", utilaj2);
//......................
buttonMap.put("utilaj20", utilaj20);
}
}
像这样:
public class MainScreen extends javax.swing.JFrame {
private final Map<String, JButton> buttonMap = new HashMap<>();
public MainScreen() {
for(i = 1; i <= 20; i++){
buttonMap.put("utilaj1", utilaj1);
buttonMap.put("utilaj"+i, utilaj+i);
}
}
}
这不起作用,因为utilaj1
......utilaj20
它是一个 JButton
您可以通过将所有按钮添加到列表中来实现您的要求,然后将它们放入地图中,如下所示:
private final Map<String,JButton> buttonMap = new HashMap<String,JButton>();
private List<JButton> buttons = Arrays.asList(utilaj1, ..., utilaj20);
public MainScreen() {
for(i=1;i<=20;i++){
buttonMap.put("utilaj"+i, buttons.get(i));
}
}
但它不会更容易使用,您可以直接使用列表,取决于您想做什么
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句