Bonjour à tous, je n'arrive pas à trouver la solution à mon problème, je viens donc chercher de l'aide ici.
J'ai une collection (de type Menagerie) que je voudrais utiliser dans différentes classes (panels). Cependant, même avec des getters / setters je n'arrive pas à l'a modifier/utiliser dans mes différentes classes.
Voilà les différentes parties du code :
-La classe d'affichage PanelAfficher (Je voudrais l'afficher dans un JTable) :
-La classe ou j'ajoute des animaux PanelAjout qui à priori marche car j'ai bien l'affichage si l'animal est ajouté ou non :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 import java.awt.BorderLayout; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextArea; import javax.swing.JTextField; public class PanelAfficher extends JPanel implements ActionListener{ private JPanel panel ; private JPanel panel2=new JPanel() ; private JPanel panel3=new JPanel() ; private JLabel lbl= new JLabel(" Bienvenue sur le Logiciel MyMenagerie."); private JLabel lbl2= new JLabel(" Choisissez ce que vous-voulez faire avec votre menagerie."); private JButton btnClic=new JButton("Ajouter un animal."); private JButton btnClic2=new JButton("Supprimer un animal."); private JButton btnClic3=new JButton("Voir le contenu de la ménagerie."); private JButton btnClic4=new JButton("Rechercher un animal."); private JTextField jtfNomRecherche= new JTextField(10); private JLabel resultatRecherche = new JLabel (); private JTextField jtfNomSupprimer= new JTextField(10); private JLabel resultatSuppression = new JLabel (); private JButton btnAjouter = new JButton("Ajouter"); private JTextField jtfNomAnimal= new JTextField(10); private JButton btnChat=new JButton("Chat"); private JButton btnTigre=new JButton("Tigre"); private JButton btnPerroquet=new JButton("Perroquet"); private JButton btnPigeon=new JButton("Pigeon"); private JButton btnLezard=new JButton("Lézard"); private JButton btnTortue=new JButton("Tortue"); private String espece; private JLabel resultatAjout = new JLabel (); private JButton btnSupprimer = new JButton("Supprimer"); JButton btnRechercher = new JButton("Rechercher"); JPanel panelall=new JPanel(); JPanel panelfin=new JPanel(); String nomAnimal; String especeAnimal; String langageAnimal; String chaine; Object[][] data={{"Aucun animal","",""}}; public PanelAfficher(){ for(int i=0;i<FenetreFTest.getMenagerie().getListe().size();i++){ Object[][] data = { {FenetreFTest.getMenagerie().getListe().get(i).getNom(),FenetreFTest.getMenagerie().getListe().get(i).getEspece(), FenetreFTest.getMenagerie().getListe().get(i).parler()}, }; } String title[] = {"Nom", "Espece", "Langage"}; JTable afficherContenu = new JTable(data,title); JScrollPane BarreDeroulement = new JScrollPane(afficherContenu,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); setPreferredSize(new Dimension(450,110)); JPanel panelAfficher=new JPanel(); JButton btnRetour = new JButton("Retour"); //btnRetour.addActionListener(new ActionRetour()); JLabel presentation =new JLabel("Voici les animaux présent dans votre ménagerie :"); panelall.setLayout(new BorderLayout()); panelall.add(presentation, BorderLayout.NORTH); panelall.add(BarreDeroulement, BorderLayout.CENTER); this.revalidate(); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub } public JPanel getPanel(Menagerie laMenagerie){ return panelall; } }
-Les gettters / setters (Je n'ai pas encore supprimer les méthodes inutile):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136 import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JComboBox; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JTextField; public class PanelAjout extends JPanel implements ActionListener{ private JPanel panel ; private JPanel panel2=new JPanel() ; private JPanel panel3=new JPanel() ; private JLabel lbl= new JLabel(" Bienvenue sur le Logiciel MyMenagerie."); private JLabel lbl2= new JLabel(" Choisissez l'espèce et le nom de l'animal à ajouter."); private JButton btnClic=new JButton("Ajouter un animal."); private JButton btnClic2=new JButton("Supprimer un animal."); private JButton btnClic3=new JButton("Voir le contenu de la ménagerie."); private JButton btnClic4=new JButton("Rechercher un animal."); private Menagerie maMenagerie = FenetreFTest.getMenagerie(); private JTextField jtfNomRecherche= new JTextField(10); private JLabel resultatRecherche = new JLabel (); private JTextField jtfNomSupprimer= new JTextField(10); private JLabel resultatSuppression = new JLabel (); private JButton btnAjouter = new JButton("Ajouter"); private JTextField jtfNomAnimal= new JTextField(10); private JButton btnChat=new JButton("Chat"); private JButton btnTigre=new JButton("Tigre"); private JButton btnPerroquet=new JButton("Perroquet"); private JButton btnPigeon=new JButton("Pigeon"); private JButton btnLezard=new JButton("Lézard"); private JButton btnTortue=new JButton("Tortue"); String espece; private JLabel resultatAjout = new JLabel (); private JButton btnSupprimer = new JButton("Supprimer"); private JButton btnRechercher = new JButton("Rechercher"); private JPanel panelall=new JPanel(); private JComboBox listeEspece; public PanelAjout(){ Object[] espece = new Object[]{"Chat", "Tigre", "Pigeon", "Perroquet", "Lézard", "Tortue"}; listeEspece = new JComboBox(espece); resultatAjout.setText(" "); JPanel panelAjout=new JPanel(); JButton btnRetour = new JButton("Retour"); btnAjouter.addActionListener(new ActionAjouter()); JLabel lblNom=new JLabel("Entrez le nom de l'animal : "); JPanel panelNom=new JPanel(); panelNom.setLayout(new FlowLayout()); panelNom.add(lblNom); panelNom.add(jtfNomAnimal); panelNom.add(btnAjouter); JPanel panelEspece=new JPanel(); panelEspece.setLayout(new FlowLayout()); panelEspece.add(listeEspece); panelEspece.add(jtfNomAnimal); panelEspece.add(btnAjouter); panelall.setLayout(new BorderLayout()); panelall.add(lbl2, BorderLayout.NORTH); panelall.add(panelEspece, BorderLayout.CENTER); panelall.add(resultatAjout, BorderLayout.SOUTH); this.revalidate(); } @Override public void actionPerformed(ActionEvent arg0) { // TODO Auto-generated method stub } public JPanel getPanel(Menagerie laMenagerie){ maMenagerie=laMenagerie; return panelall; } public class ActionAjouter implements ActionListener{ public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub espece = (String) listeEspece.getSelectedItem(); if(espece=="Chat"){ resultatAjout.removeAll(); resultatAjout.setText((FenetreFTest.setAjoutMenagerie(new Chat(jtfNomAnimal.getText(), espece)))); } else{ if(espece=="Tigre"){ resultatAjout.removeAll(); resultatAjout.setText(FenetreFTest.getMenagerie().arriver(new Tigre(jtfNomAnimal.getText(), espece))); } else{ if(espece=="Perroquet"){ resultatAjout.removeAll(); resultatAjout.setText(FenetreFTest.getMenagerie().arriver(new Perroquet(jtfNomAnimal.getText(), espece))); } else{ if(espece=="Pigeon"){ resultatAjout.removeAll(); resultatAjout.setText(FenetreFTest.getMenagerie().arriver(new Pigeon(jtfNomAnimal.getText(), espece))); } else{ if(espece=="Lezard"){ resultatAjout.removeAll(); resultatAjout.setText(FenetreFTest.getMenagerie().arriver(new Lezard(jtfNomAnimal.getText(), espece))); } else{ if(espece=="Tortue"){ resultatAjout.removeAll(); resultatAjout.setText(FenetreFTest.getMenagerie().arriver(new Tortue(jtfNomAnimal.getText()))); } } } } } } } } }
-La classe Menagerie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 private static Menagerie maMenagerie = new Menagerie(); public static String setAjoutMenagerie(Animal unAnimal){ return maMenagerie.arriver(unAnimal); } public static Menagerie getMenagerie(){ return maMenagerie; }
Voilà pour le gros du code, si vous voulez toutes la classe FenetreFTest, je pourrais la rajouter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 import java.util.ArrayList; public class Menagerie { //attribut private ArrayList<Animal> listeAnimaux; //constructeur public Menagerie() { this.listeAnimaux = new ArrayList<Animal>(); } //methode public ArrayList<Animal> getListe(){ return listeAnimaux; } public String supprimerAnimal(String unNom, String uneEspece){ int i=0; String chaine=" "; boolean verification = false; while(i<this.listeAnimaux.size() && verification==false){ if(unNom.equals(this.listeAnimaux.get(i).getNom()) && uneEspece.equals(this.listeAnimaux.get(i).getEspece())){ verification=true; } else{ i=i+1; } } if(verification==true){ this.listeAnimaux.remove(i); chaine="L'animal a été supprimé."; } else{ chaine="L'animal que vous voulez supprimer est introuvable."; } return chaine; } public String rechercheAnimal(String unNom, String uneEspece){ int i=0; String chaine=" "; boolean verification = false; while(i<this.listeAnimaux.size() && verification==false){ if(unNom.equals(this.listeAnimaux.get(i).getNom()) && uneEspece.equals(this.listeAnimaux.get(i).getEspece())){ verification=true; } else{ i=i+1; } } if(verification==true){ this.listeAnimaux.remove(i); chaine="L'animal a été trouvé à la place"+(i+1)+"."; } else{ chaine="L'animal que vous recherchez est introuvable."; } return chaine; } public String arriver(Animal unAnimal){ int i=0; String chaine =""; boolean verification = false; while(i<this.listeAnimaux.size() && verification==false){ if(unAnimal.getNom().equals(this.listeAnimaux.get(i).getNom()) && unAnimal.getEspece().equals(this.listeAnimaux.get(i).getEspece())){ verification=true; } else{ i=i+1; } } if(verification==true){ chaine="L'animal n'a pas été ajouté car il existe déjà."; } else{ this.listeAnimaux.add(unAnimal); chaine="L'animal a bien été ajouté."; } return chaine; } public void partir(Animal unAnimal){ this.listeAnimaux.remove(unAnimal); } public String presenter(){ String chaine=" "; if(this.listeAnimaux.size()==0){ chaine="La ménagerie ne possède aucun animal."; } else{ for(int i=0;i<this.listeAnimaux.size();i++){ chaine+="\nJe me présente :"+this.listeAnimaux.get(i).toString()+"\n"; chaine+=this.listeAnimaux.get(i).parler()+"\n"; } } return chaine; } }
Merci d'avance à celles et ceux qui me répondront![]()
Partager