https://hal.archives-ouvertes.fr/hal-02404862
Tip revision: 759bd8995e51c4e40aa72fd5657d5e6e04c6da89 authored by Software Heritage on 04 February 2020, 13:44:27 UTC
hal: Deposit 405 in collection hal
hal: Deposit 405 in collection hal
Tip revision: 759bd89
DialogPanelMergeListe.java
package vue.dialog;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.util.ArrayList;
import java.util.List;
import java.util.ResourceBundle;
import java.util.Set;
import javax.swing.BoxLayout;
import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import modeles.ListeModel;
public class DialogPanelMergeListe extends JPanel {
private static final long serialVersionUID = 1L;
private Set<ListeModel> tabListes;
private final List<Integer> listListesSelected = new ArrayList<Integer>();
private ResourceBundle bundleProjetController;
public DialogPanelMergeListe(Set<ListeModel> tabListes,
ResourceBundle bundleProjetController) {
this.tabListes = tabListes;
this.bundleProjetController = bundleProjetController;
createGui();
}
public void createGui() {
JPanel panelLabel = new JPanel();
panelLabel.setLayout(new FlowLayout(FlowLayout.LEFT));
panelLabel.setOpaque(true);
panelLabel.setMaximumSize(new Dimension(400, 30));
JLabel label = new JLabel(
bundleProjetController.getString("txt_CocherListesFusionner")
+ " : ");
panelLabel.add(label);
JPanel panelChk = new JPanel();
panelChk.setLayout(new BoxLayout(panelChk, BoxLayout.PAGE_AXIS));
panelChk.setOpaque(true);
for (ListeModel liste : tabListes) {
final int numListe = liste.getNumero();
String nomListe = liste.getNom();
JCheckBox box = new JCheckBox("(" + numListe + ") " + nomListe+ " (" + liste.getNbreMessages() + " "
+ bundleProjetController.getString("txt_Messages")+")");
box.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == ItemEvent.SELECTED)
listListesSelected.add(numListe);
else {
for (int i = 0; i < listListesSelected.size(); i++) {
int numListeSelectedExistante = listListesSelected
.get(i);
if (numListeSelectedExistante == numListe)
listListesSelected.remove(i);
}
}
}
});
panelChk.add(box);
}
JScrollPane scrollChk = new JScrollPane(panelChk);
scrollChk.setMaximumSize(new Dimension(400, 100));
scrollChk.setMinimumSize(new Dimension(400, 100));
scrollChk.setPreferredSize(new Dimension(400, 100));
add(panelLabel);
add(scrollChk);
setLayout(new BoxLayout(this, BoxLayout.PAGE_AXIS));
setOpaque(true);
setMaximumSize(new Dimension(400, 140));
}
public List<Integer> getListListesSelected() {
return listListesSelected;
}
}