A voir également:
- Probleme d'ajout dans une hashmap
- Ajout rapide snap ✓ - Forum Snapchat
- Frédéric cherche à faire le buzz sur les réseaux sociaux. il a ajouté une image de manchots sur une image de plage. retrouvez l'image originale de la plage. que cachent les manchots ? ✓ - Forum Windows
- Ajout snap sans rien - Forum Snapchat
- Ajout snapchat inconnu - Forum Snapchat
- Ajout perso instagram introuvable ✓ - Forum Instagram
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
6 juin 2018 à 20:03
6 juin 2018 à 20:03
Bonjour,
La méthode ajout est correct (même si elle peut être simplifiée).
Par contre getEvts est invalide. chHashMap a des clés de type Integer et tu fais un get avec un objet Date...
La méthode ajout est correct (même si elle peut être simplifiée).
Par contre getEvts est invalide. chHashMap a des clés de type Integer et tu fais un get avec un objet Date...
6 juin 2018 à 20:20
6 juin 2018 à 20:26
Le problème est ailleurs, probablement dans le reste de ton code.
Modifié le 6 juin 2018 à 21:15
Voici le code ou l'ajout est fait:
package vue; import java.awt.BorderLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import modele.*; import java.io.File; import java.util.TreeMap; import java.util.TreeSet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import controleur.Controleur; //faire un bouton pour retirer des evts de la frise ?0 public class FormulaireEvts extends JPanel implements ActionListener { JPanel panelCentre = new JPanel(); final String INTITULE_BOUTON_AJOUT = "Ajout"; final String INTITULE_BOUTON_QUITTER = "Quitter"; private static final long serialVersionUID = 1L; //éléments graphiques final String [] POIDS = {"1", "2", "3", "4", "5"}; JButton boutonAjout = new JButton(INTITULE_BOUTON_AJOUT); JButton boutonQuitter = new JButton (INTITULE_BOUTON_QUITTER); JComboBox <String> champpoidsEvt = new JComboBox<String>(POIDS); JTextField champNomEvt = new JTextField(15); JTextField champDateEvt = new JTextField(15); JTextArea champDescrEvt = new JTextArea(10,10); public FormulaireEvts() { setLayout(new GridBagLayout()); GridBagConstraints contrainte = new GridBagConstraints(); contrainte.insets = new Insets(6,6,6,6); contrainte.anchor = GridBagConstraints.WEST; File repertoire = new File("Frise"); String[] files=repertoire.list(); JLabel titreFormulaire = new JLabel("Formulaire d'ajout d'événements", JLabel.CENTER); JLabel nomFrise =new JLabel("Frise :"+ files[1], JLabel.CENTER); JLabel partieEvenements = new JLabel("Partie événements :", JLabel.LEFT); JLabel nomEvenement = new JLabel("Nom de l'événement :", JLabel.LEFT); JLabel dateDebutEvt = new JLabel("Date de l'événement :", JLabel.LEFT); JLabel ajoutImage = new JLabel("Image de l'événement :", JLabel.LEFT); JLabel descriptionEvt = new JLabel("Description de l'événement :", JLabel.LEFT); JLabel poidsEvt = new JLabel("Importance de l'événement (poids) :", JLabel.LEFT); contrainte.gridx=0; contrainte.gridy++; contrainte.gridwidth = 1; this.add(nomFrise,contrainte); contrainte.gridx=0; contrainte.gridy++; contrainte.gridwidth = 1; this.add(titreFormulaire,contrainte); contrainte.gridx=0; contrainte.gridy++; contrainte.gridwidth = 1; this.add(nomEvenement,contrainte); contrainte.gridx++; contrainte.gridwidth = 4; contrainte.fill=GridBagConstraints.HORIZONTAL; this.add(champNomEvt,contrainte); contrainte.fill=GridBagConstraints.NONE; contrainte.gridx=0; contrainte.gridy++; contrainte.gridwidth = 1; this.add(dateDebutEvt,contrainte); contrainte.gridx++; contrainte.gridwidth = 4; contrainte.fill=GridBagConstraints.HORIZONTAL; this.add(champDateEvt,contrainte); contrainte.fill=GridBagConstraints.NONE; contrainte.gridx=0; contrainte.gridy++; contrainte.gridwidth = 1; this.add(poidsEvt,contrainte); contrainte.gridx++; contrainte.gridwidth = 1; this.add(champpoidsEvt,contrainte); contrainte.gridx=0; contrainte.gridy++; contrainte.anchor=GridBagConstraints.NORTHWEST; this.add(descriptionEvt,contrainte); contrainte.gridwidth=4; contrainte.gridx++; contrainte.fill=GridBagConstraints.BOTH; this.add(new JScrollPane(champDescrEvt),contrainte); boutonAjout.setActionCommand(INTITULE_BOUTON_AJOUT); contrainte.gridx=0; contrainte.gridy++; contrainte.gridwidth = 1; this.add(boutonAjout, contrainte); contrainte.gridx++; this.add(boutonQuitter, contrainte); //this.add(panelCentre); boutonAjout.addActionListener(this); boutonQuitter.addActionListener(this); } public void actionPerformed(ActionEvent parEvt) { Evenement evt; if (parEvt.getSource () == boutonAjout) { evt = new Evenement(champNomEvt.getText(),champDescrEvt.getText(),Integer.parseInt((String)(champpoidsEvt.getSelectedItem()))); Date dateEvt = new Date(Integer.parseInt(champDateEvt.getText())); Frise.ajout(dateEvt,evt); File repertoire = new File("Frise"); String[] files=repertoire.list(); champDescrEvt.setText(""); champNomEvt.setText(""); champDateEvt.setText(""); } else if (parEvt.getSource () == boutonQuitter) { champDescrEvt.setText(""); champNomEvt.setText(""); champDateEvt.setText(""); champpoidsEvt.setSelectedIndex(0); } } }Modifié le 6 juin 2018 à 21:25
class Date { int a; public Date(int a) { this.a = a; } public Integer getAnnee() { return a; } } class Evenement implements Comparable<Evenement> { private String s; public Evenement(String s, String t, int i) { this.s = s; } public int compareTo(Evenement e) { return s.compareTo(e.s); } public String toString() { return s; } } public static void main(String[] args) { Frise.ajout(new Date(2017), new Evenement("A17","",0)); Frise.ajout(new Date(2017), new Evenement("B17","",0)); Frise.ajout(new Date(2018), new Evenement("A18","",0)); Frise.ajout(new Date(2018), new Evenement("B18","",0)); System.out.println(Frise.chHashMap); // {2017=[A17, B17], 2018=[A18, B18]} }Modifié le 6 juin 2018 à 21:43