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());
- }
- } );
-
-
- // 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));
- }
- }
|
|