meenah | salut! je dois faire un jeux de cartes et je veux afficher deux listes dont ses composantes appartiennes à une classe (cartes) qui étend Arraylist<Personnage>. Cependant aucunes listes ne s'affichent et je ne comprends pas pourquoi
Code :
- class Fenetre extends JFrame{
- public Fenetre(Cartes cartes){
- Container pan = getContentPane();
- JPanel haut, bas;
- final JButton combat = new JButton("Combat" );
- JButton soigne = new JButton("Soigne" );
- // Les listes avec leurs elements :
-
- final JList list1 = new JList(cartes.toArray());
- final JList list2 = new JList(cartes.toArray());
- final JTextArea ta1 = new JTextArea();
- final JTextArea ta2 = new JTextArea();
- // Les listes des personnages pouvant etre selectionnes
- list1.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- list2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-
- list1.addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e){
- ta1.setText(((Personnage)list1.getSelectedValue()).printAll());
- }
- } );
-
- list2.addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e){
- ta2.setText(((Personnage)list2.getSelectedValue()).printAll());
- }
- } );
-
- // g2.addListSelectionListener(new ListSelectionListener() {
- // public void valueChanged(ListSelectionEvent e){
- // ta1.setText(g2.printAll());
- // }
- //} );
-
- // Cliquer sur le bouton combat permet de declencher un combat entre les
- // personnages selectionnes
- // A COMPLETER Pour gerer les exceptions
- combat.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- Personnage p1 = (Personnage)list1.getSelectedValue();
- Personnage p2 = (Personnage)list2.getSelectedValue();
- //p1.combat(p2); check si p1 p2 sont des guerriers ou paladins
- ta1.setText(p1.printAll());
- ta2.setText(p2.printAll());
- JOptionPane.showMessageDialog(Fenetre.this,p1.getMessage(), "information", JOptionPane.INFORMATION_MESSAGE);
- }
- });
-
- // Cliquer sur le bouton soigne permet au soigneur selectionne de soigner
- // un personnage selectionne
- // A COMPLETER pour gerer les exceptions
- soigne.addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- Personnage p1 = (Personnage)list1.getSelectedValue();
- Personnage p2 = (Personnage)list2.getSelectedValue();
- //p1.soigne(p2); il faut vérifier que p1 est un soigneur
- ta1.setText(p1.printAll());
- ta2.setText(p2.printAll());
- JOptionPane.showMessageDialog(Fenetre.this,p1.getMessage(), "information", JOptionPane.INFORMATION_MESSAGE);
- }
- });
- // Fermer la fenetre
- addWindowListener(new WindowAdapter(){
- public void windowClosing(WindowEvent e){
- System.exit(0);
- }
- });
-
- // Affichage des elements graphiques
- setBounds(50,50,500,200);
- pan.setLayout(new GridLayout(2,1));
- haut = new JPanel(new FlowLayout());
- bas = new JPanel(new FlowLayout());
- haut.add(list1);
- haut.add(combat);
- haut.add(soigne);
- haut.add(list2);
- bas.add(ta1);
- bas.add(ta2);
- pan.add(haut);
- pan.add(bas);
- setVisible(true);
- }
- }
- // Les cartes
- class Cartes extends ArrayList<Personnage>{
- static public Random rnd;
- static Guerrier g1;
- static Guerrier g2;
- static Soigneur s1;
- static Soigneur s2;
- static Paladin p;
-
- public Cartes(){
- g1 = new Guerrier(rnd.nextInt(20), "Escrimus" );
- g2 = new Guerrier(rnd.nextInt(20), "Archeus" );
- s1 = new Soigneur(rnd.nextInt(25), "Medicus" );
- s2 = new Soigneur(rnd.nextInt(25), "Infirmix" );
- p = new Paladin ( rnd.nextInt(25), "Paladus", rnd.nextInt(20));
- }
- }
|
|