Java , comment acceder a une methode d un objet y a un pitit pb.

Java , comment acceder a une methode d un objet y a un pitit pb. - Java - Programmation

Marsh Posté le 17-03-2004 à 05:58:01    

:hello: ,
 
je debute en java, mais j ai fais un peu d objet en c++
 
j ai creer une class Item  

Code :
  1. public class Item
  2. {
  3. //var
  4. private double price;
  5. private String description;
  6. public Item() { }
  7. public void Update_price (double new_price) { price = new_price;}
  8. public void Update_description (String new_description) { description = new_description;}
  9. public double Get_price() { return price;}
  10. public String Get_description() { return description;}
  11. }


 
je trouve ca un peu lourd on doit surement pouvoir faire mieux mais bon.
 
ensuite j ai fait une classe commande.
 

Code :
  1. public class Command
  2. {
  3.     private ArrayList quantity_array = new ArrayList();
  4.     private ArrayList items_array = new ArrayList();
  5.    
  6.    
  7.     public void add_an_item()
  8.     {
  9.        String item_name = JOptionPane.showInputDialog("Item name " );
  10.        double item_price = Double.parseDouble(JOptionPane.showInputDialog("Item price " ));
  11.        int item_quantity = Integer.parseInt(JOptionPane.showInputDialog("Item quantity " ));
  12.      
  13.        Item myitem = new Item();
  14.        myitem.Update_price(item_price);
  15.        myitem.Update_description(item_name);
  16.      
  17.        quantity_array.add(new Integer(item_quantity));
  18.        items_array.add(myitem);
  19.        //pour tester
  20.        System.out.println(quantity_array.get(0));
  21.    
  22.        //pb !
  23.       Item temp = new Item();
  24.       temp = items_array.get(0);
  25.       System.out.println(temp.Get_price());
  26. }


 
je voudrais afficher le prox de l objet item dans mon array en place 0.
 
il me sort a l avant derniere ligne de code (temp = ..)
imcompatible types found java.lang.Object but expected Item.
 
pourtant temp est bien un objet du type Item..
je comprend pas..
 
merci  :)  
 
 

Reply

Marsh Posté le 17-03-2004 à 05:58:01   

Reply

Marsh Posté le 17-03-2004 à 06:14:23    

le probleme ne vient pas du fait que temp soit de type Item, le probleme vient du fait que la methode get te renvoit un Object, il faut donc explicitement faire un cast en Item
 

Code :
  1. Item temp = (Item) items_array.get(0);


 
(oui, j'ai vire ton new Item(); qui ne sert a rien a part donner a manger au Garbage Collector :D)


Message édité par souk le 17-03-2004 à 07:10:19
Reply

Marsh Posté le 17-03-2004 à 06:25:08    

weeeeee merci !!
je suis pas encore habitue a ce type de fonctionnement ! des cast a cahque object.

Reply

Marsh Posté le 17-03-2004 à 07:18:46    

autre question :
 
je voudrais qu une boite de dialogut apparaissent et me demande si je veus inserer un item ou non

Code :
  1. JOptionPane.showConfirmDialog(null, "Add an item to the list ?", "Add an item", JOptionPane.YES_NO_OPTION);


 
mais comment savoir ce que sera la reponse ?
j ai essayer boolean add = ......
mais c est pas bon.
 

Reply

Marsh Posté le 17-03-2004 à 07:27:08    

regarde dans la javadoc, y a tout ce qu'il faut :/
 
sinon, cette methode (showConfirmDialog) renvoie un entier en fonction de la reponse utilisateur. [:spamafote]

Reply

Marsh Posté le 17-03-2004 à 09:22:41    

souk a écrit :

regarde dans la javadoc, y a tout ce qu'il faut :/


oui, et tant que tu y es regarde là : http://java.sun.com/docs/codeconv/index.html
 
je sais que tu débutes mais c'est au début qu'il faut prendre de bonnes habitudes ...


Message édité par benou le 17-03-2004 à 09:37:30
Reply

Marsh Posté le 17-03-2004 à 09:36:41    

benou a écrit :


oui, et ant que tu y est regarde là : http://java.sun.com/docs/codeconv/index.html
 
je sais que tu débute mais c'est au début qu'il faut prendre de bonnes habitudes ...


je plussoie allegrement :jap:


---------------
L'inventeur de la cédille est un certain monsieur Groçon .
Reply

Marsh Posté le 17-03-2004 à 09:39:24    

souk a écrit :


je plussoie allegrement :jap:


tin  :pfff:  
moi c'est les codeconv de français que je devrais lire  :pfff:

Reply

Marsh Posté le 17-03-2004 à 12:23:27    

Apres avoir lu pas mal d example de Jtextarea.
je ne comprend pas pourquoi chez moi rien ne s affiche !
 

Code :
  1. import javax.swing.JTextArea;
  2. ....
  3. JTextArea textArea = new JTextArea(
  4.     "This is an editable JTextArea. " +
  5.     "A text area is a \"plain\" text component, " +
  6.     "which means that although it can display text " +
  7.     "in any font, all of the text is in the same font.", 5 ,6
  8. );


 
:/

Reply

Marsh Posté le 17-03-2004 à 14:23:55    

xiluoc a écrit :

weeeeee merci !!
je suis pas encore habitue a ce type de fonctionnement ! des cast a cahque object.


Pas forcément : seulement quand tu as besoin de savoir que c'est un objet Item. Regarde par exemple ton appel à System.out.println() :

Code :
  1. //pour tester  
  2. System.out.println(quantity_array.get(0));


Ici le cast est inutile, car println() attend un Object. Peu importe qu'il s'agisse en réalité d'un sous-type d'Object.

Reply

Marsh Posté le 17-03-2004 à 14:23:55   

Reply

Marsh Posté le 17-03-2004 à 14:24:39    

xiluoc a écrit :

Apres avoir lu pas mal d example de Jtextarea.
je ne comprend pas pourquoi chez moi rien ne s affiche !
 
:/


Tu l'as correctement ajouté à un conteneur Swing (genre JPanel), ton JTextArea ?

Reply

Marsh Posté le 17-03-2004 à 14:28:03    

heu.. non :p je vais essayer ca

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed