Карта состоит из пар ключ / значение. Например, в вашем коде один ключ - «Добавить», а соответствующее значение - JButton («+»). Map.Entry - это одна пара ключ / значение, содержащаяся в карте. Это два наиболее часто используемых метода: getKey() and getValue()
. Ваш код всех пар попадает в набор:
Set entrys = listbouton.entrySet() ;
и перебирает их. Теперь он только смотрит на значение , используя me.getValue()
, и добавляет их к вашему PanneauCalcul
this.add((Component) me.getValue()) ; //don't understand
Часто этот тип цикла (над Map.Entry) имеет смысл, если вам нужно посмотреть и ключ и значение. Однако в вашем случае вы не используете ключи, поэтому гораздо более простой версией было бы просто получить все значения на вашей карте и добавить их. например,
for (JButton jb:listbouton.values()) {
this.add(jb);
}
Один последний комментарий. Порядок итерации в HashMap довольно случайный. Таким образом, кнопки будут добавлены в ваш PanneauCalcul в полуслучайном порядке. Если вы хотите сохранить порядок кнопок, вы должны использовать LinkedHashMap.