Comment inserer une requete ds un JTextArea ? [JAVA&SQL] - Java - Programmation
Marsh Posté le 28-04-2002 à 14:31:46
Salut
Code :
|
Marsh Posté le 28-04-2002 à 14:33:16
gloops ca bug
C:\Java\projet_refuge>java -classpath ;.\lib\hsqldb.jar Pension
Exception occurred during event dispatching:
java.lang.ClassCastException: ChienMoyenneRace
at MaFenetre.actionPerformed(Pension.java:48)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknow
n Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
at java.awt.Component.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Marsh Posté le 28-04-2002 à 14:37:45
Vinz416 a écrit a écrit : gloops ca bug C:\Java\projet_refuge>java -classpath ;.\lib\hsqldb.jar Pension Exception occurred during event dispatching: java.lang.ClassCastException: ChienMoyenneRace at MaFenetre.actionPerformed(Pension.java:48) at javax.swing.AbstractButton.fireActionPerformed(Unknown Source) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknow n Source) at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source) at javax.swing.DefaultButtonModel.setPressed(Unknown Source) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour ce) at java.awt.Component.processMouseEvent(Unknown Source) at java.awt.Component.processEvent(Unknown Source) at java.awt.Container.processEvent(Unknown Source) at java.awt.Component.dispatchEventImpl(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source) at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source) at java.awt.Container.dispatchEventImpl(Unknown Source) at java.awt.Window.dispatchEventImpl(Unknown Source) at java.awt.Component.dispatchEvent(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source) |
Ok. Visiblement tu as des objets de type Animal je me trompe? Si tu as la main mise dans ce code tu dois implémenter une méthode
public String toString() qui retourne la représentation de l'animal (son nom etc). Tout ce que tu veux afficher.
Là je ne sais pas te répondre plus
Dans un premier temps essaie
Code :
|
je ne te donnerai pas d'explications supplémentaires sans les détails supplémentaires (i.e. impossible de te répondre efficacement).
a+
[jfdsdjhfuetppo]--Message édité par DarkLord le 28-04-2002 à 14:51:37--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 14:41:13
oui j'ai des objets de type Animal
J'essaye de comprendre comment faire avec ce que tu m'as dit, mais c pas gagné Newbie powa
merci en tout cas
Marsh Posté le 28-04-2002 à 14:50:46
Vinz416 a écrit a écrit : oui j'ai des objets de type Animal J'essaye de comprendre comment faire avec ce que tu m'as dit, mais c pas gagné Newbie powa merci en tout cas |
bon en supposant que dans ton objet Animal tu as une propriété qui est le nom
private String name = null;
et que tu donnes le nom de l'animal dans le constructeur tu peux faire un truc du genre
public String toString() {
if (name == null)
return "";
else
return name;
}
[jfdsdjhfuetppo]--Message édité par DarkLord le 28-04-2002 à 14:50:59--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 14:51:51
et la 2eme solution que je t'ai filée ne marche pas?
Marsh Posté le 28-04-2002 à 14:58:06
siiiiiiiiiii c bon avec le ToString(); ca marche !!
mercii
Marsh Posté le 28-04-2002 à 14:58:40
DarkLord a écrit a écrit : et la 2eme solution que je t'ai filée ne marche pas? |
elle doit surement marcher puisque la methode toString est automatiquement appelée par le System.out.println dans le cas où c'est des objets ...
edit : pfff trop nul en orthographe ...
[jfdsdjhfuetppo]--Message édité par benou le 28-04-2002 à 15:07:33--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 15:33:22
Autre probleme
a la place de mon textArea, pour faire plus propre je voudrais mettre un JList au lieu du JTextArea
Donc j'arrive a créer ma liste, nikel, elle s'affiche avec les élément que je lui est mis par defaut, mais je ne sais pas comment en ajouter
liste.add(String text); ca marche pas, pourtant dans l'api c add
Marsh Posté le 28-04-2002 à 15:40:38
bon, je vais faire une petite faq si la majorité des gens ici est d'accord pour améliorer les perfs du forum
une phrase du type: "ca ne marche pas" sans le code source + la trace de l'erreur + la ligne qui a provoqué l'erreur se traduira par une ignorance totale de ma part
A+
Marsh Posté le 28-04-2002 à 15:43:23
import javax.swing.* ;
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.event.* ;
import java.util.*;
class MaFenetre extends JFrame implements ActionListener
{ public MaFenetre ()
{ setTitle ("Pension pour Animaux" ) ;
setSize (500, 400) ;
Container contenu = getContentPane() ;
bVert = Box.createVerticalBox();
contenu.add(bVert);
ligneVide0 = new JLabel ("\n" );
ligneVide1 = new JLabel ("\n" );
ligneVide2 = new JLabel ("\n" );
msgBienvenue = new JLabel ("Bienvenue sur le programme de gestion d'animaux en pension." );
bVert.add(ligneVide0);
bVert.add(msgBienvenue);
bVert.add(ligneVide1);
liste = new JList (detailAnimal) ;
//JTextArea txt = new JTextArea();
//String test = "text";
//txt.append(test);
bVert.add(liste);
bVert.add(ligneVide2);
Vector animaux = DBAnimal.getAnimaux();
int i = 0;
while (i < animaux.size()){
detailAnimal.add((animaux.get(i)).toString());
i++;
}
panCom = new JPanel() ;
contenu.add (panCom, "South" ) ;
aff = new JButton ("Afficher" ) ; panCom.add (aff) ;
aff.addActionListener(this) ;
add = new JButton ("Ajouter" ) ; panCom.add (add) ;
add.addActionListener(this) ;
del = new JButton ("Supprimer" ) ; panCom.add (del) ;
del.addActionListener(this) ;
pato = new JButton ("Pathologie" ) ; panCom.add (pato) ;
pato.addActionListener(this) ;
quit = new JButton ("Quitter" ) ; panCom.add (quit) ;
quit.addActionListener(this) ;
}
public void actionPerformed (ActionEvent e) {
JButton source = (JButton)e.getSource() ;
if (source == aff) System.out.println ("Afficher" ) ;
if (source == add) System.out.println ("Ajouter" ) ;
if (source == del) System.out.println ("Supprimer" ) ;
if (source == pato){
JDialog bd = new JDialog(this, "Pathologie", true);
JOptionPane.showMessageDialog(bd, "CHIEN DE PETITE RACE ET CHAT :\n - Obésité (désordre le plus courant)\nCHIEN DE GRANDE RACE :\n - Panostéité (Inflamation des os chez les jeunes chiens)\n - Ostéochondite disséquante (problème à l'épaule, le cartillage se fragmente à l'articulation)\n - Dysplasie de la hanche\n - Problème au coude (développement anormal de l'articulation du coude)\nTOUTES RACES CONFONDUES :\n - Hypervitaminose A et B (anomalie du développement du squelette due à un excés de vitamine)" );
}
if (source == quit) System.exit(0);
}
private Box bVert;
private JLabel ligneVide0, ligneVide1, ligneVide2, msgBienvenue;
//private JTextArea txt;
private String[] detailAnimal = {"rouge", "bleu", "gris", "vert", "jaune", "noir" } ;
private JList liste ; private JPanel panCom ;
private JButton aff, add, del, pato, quit ;
}
public class Pension
{ public static void main (String args[])
{ MaFenetre fen = new MaFenetre() ;
fen.setVisible(true) ;
}
}
en rouge ce ki nous interesse
[jfdsdjhfuetppo]--Message édité par Vinz416 le 28-04-2002 à 15:44:36--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 15:44:59
quelle ligne provoque l'erreur et quelle est le stack trace (comme tu as fait pour ton premier probleme)
Marsh Posté le 28-04-2002 à 15:45:36
bin tu ne mets rien dans ta liste ...
Marsh Posté le 28-04-2002 à 15:46:42
l'erreur:
C:\Java\projet_refuge>javac *.java
Pension.java:31: cannot resolve symbol
symbol : method add (java.lang.String)
location: class java.lang.String[]
detailAnimal.add((animaux.get(i)).toString());
^
1 error
comment ca je ne met rien ?
Marsh Posté le 28-04-2002 à 15:48:11
tu fais un add sur un tableau ...
Marsh Posté le 28-04-2002 à 15:48:52
qu'essaie tu de faire en ajouter des brols à ton String[] ... Tu ne mets rien dans ta JList ("liste" ) !!!
Marsh Posté le 28-04-2002 à 15:49:46
euh ... lol
je sais pas comment faire alors
putain jsuis pomé sérieux, en plus mon projet c pour demain
extrême galère
Marsh Posté le 28-04-2002 à 15:54:37
il faut utilisé listModel
regarde
listModel = new DefaultListModel();
list = new JList(listModel);
...
tu ajoutes list a ton interface utilisateur
...
...
listModel.addElement( );
ou encore
listModel.removeElement( );
[jfdsdjhfuetppo]--Message édité par veryfree le 28-04-2002 à 15:55:56--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 15:56:45
a la place des smileys tu met des chaines de caracteres c mieux
[jfdsdjhfuetppo]--Message édité par veryfree le 28-04-2002 à 15:57:13--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 16:01:03
C:\Java\projet_refuge>javac *.java
Pension.java:22: cannot resolve symbol
symbol : variable detailAnimal
location: class MaFenetre
detailAnimal = new DefaultListModel();
^
Pension.java:23: cannot resolve symbol
symbol : variable detailAnimal
location: class MaFenetre
liste = new JList(detailAnimal);
^
Pension.java:32: cannot resolve symbol
symbol : variable detailAnimal
location: class MaFenetre
detailAnimal.addElement((animaux.get(i)).toString());
^
3 errors
J'aime le java
Marsh Posté le 28-04-2002 à 16:01:53
import javax.swing.* ;
import java.awt.* ;
import java.awt.event.* ;
import javax.swing.event.* ;
import java.util.*;
class MaFenetre extends JFrame implements ActionListener
{ public MaFenetre ()
{ setTitle ("Pension pour Animaux" ) ;
setSize (500, 400) ;
Container contenu = getContentPane() ;
bVert = Box.createVerticalBox();
contenu.add(bVert);
ligneVide0 = new JLabel ("\n" );
ligneVide1 = new JLabel ("\n" );
ligneVide2 = new JLabel ("\n" );
msgBienvenue = new JLabel ("Bienvenue sur le programme de gestion d'animaux en pension." );
bVert.add(ligneVide0);
bVert.add(msgBienvenue);
bVert.add(ligneVide1);
detailAnimal = new DefaultListModel();
liste = new JList(detailAnimal);
//JTextArea txt = new JTextArea();
//String test = "text";
//txt.append(test);
bVert.add(liste);
bVert.add(ligneVide2);
Vector animaux = DBAnimal.getAnimaux();
int i = 0;
while (i < animaux.size()){
detailAnimal.addElement((animaux.get(i)).toString());
i++;
}
panCom = new JPanel() ;
contenu.add (panCom, "South" ) ;
aff = new JButton ("Afficher" ) ; panCom.add (aff) ;
aff.addActionListener(this) ;
add = new JButton ("Ajouter" ) ; panCom.add (add) ;
add.addActionListener(this) ;
del = new JButton ("Supprimer" ) ; panCom.add (del) ;
del.addActionListener(this) ;
pato = new JButton ("Pathologie" ) ; panCom.add (pato) ;
pato.addActionListener(this) ;
quit = new JButton ("Quitter" ) ; panCom.add (quit) ;
quit.addActionListener(this) ;
}
public void actionPerformed (ActionEvent e) {
JButton source = (JButton)e.getSource() ;
if (source == aff) System.out.println ("Afficher" ) ;
if (source == add) System.out.println ("Ajouter" ) ;
if (source == del) System.out.println ("Supprimer" ) ;
if (source == pato){
JDialog bd = new JDialog(this, "Pathologie", true);
JOptionPane.showMessageDialog(bd, "CHIEN DE PETITE RACE ET CHAT :\n - Obésité (désordre le plus courant)\nCHIEN DE GRANDE RACE :\n - Panostéité (Inflamation des os chez les jeunes chiens)\n - Ostéochondite disséquante (problème à l'épaule, le cartillage se fragmente à l'articulation)\n - Dysplasie de la hanche\n - Problème au coude (développement anormal de l'articulation du coude)\nTOUTES RACES CONFONDUES :\n - Hypervitaminose A et B (anomalie du développement du squelette due à un excés de vitamine)" );
}
if (source == quit) System.exit(0);
}
private Box bVert;
private JLabel ligneVide0, ligneVide1, ligneVide2, msgBienvenue;
//private JTextArea txt;
//private String[] detailAnimal = {"rouge", "bleu", "gris", "vert", "jaune", "noir" } ;
private JList liste ;
private DefaultListModel detailAnimal ;
private JPanel panCom ;
private JButton aff, add, del, pato, quit ;
}
public class Pension
{ public static void main (String args[])
{ MaFenetre fen = new MaFenetre() ;
fen.setVisible(true) ;
}
}
edit: ca marche
[jfdsdjhfuetppo]--Message édité par Vinz416 le 28-04-2002 à 16:08:28--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 16:05:53
mais enfin detailanimal n'est plus déclaré!!!
Marsh Posté le 28-04-2002 à 16:07:02
oui je vien de voir lol, ca marche
jai pas pu editer mon poste ma connection avait planté
dsl pour letourderie
Marsh Posté le 28-04-2002 à 23:30:43
oauis mais je bug sur le sql avec hsql
franchement jai passé toute la journée dessus, ca marche pas
en plus je trouve pas de tuto sur hsql & java ca me soul !!
Marsh Posté le 28-04-2002 à 23:38:31
[jfdsdjhfuetppo]--Message édité par Vinz416 le 28-04-2002 à 23:38:41--[/jfdsdjhfuetppo]
Marsh Posté le 28-04-2002 à 14:28:55
voila, lorsque jexecute une requete, en faisant un System.out.println(); jarrive a afficher ma requete sur le terminal.
voici le bout de code:
Vector animaux = DBAnimal.getAnimaux();
int i = 0;
while (i < animaux.size()){
System.out.println(animaux.get(i));
i++;
}
Je voudrais inserer le resultat dans mon interface graphik
J'ai ceci:
JTextArea txt = new JTextArea();
et si je fais un txt.append(animaux.get(i));
j'obtiens cette erreur a la compilation:
Pension.java:48: append(java.lang.String) in javax.swing.JTextArea cannot be app
lied to (java.lang.Object)
txt.append(animaux.get(i));
^
1 error
comment pourais-je faire afin ke le animaux.get(i); soit affecter a une variable de type String de maniere a faire qqchose qui resemblerais a ca:
String element = animaux.get(i);
txt.append(element);
c difficil a expliker, et surtout a me comprendre, mais jespère ke qq1 pourra m'aider, merci
[jfdsdjhfuetppo]--Message édité par Vinz416 le 28-04-2002 à 14:29:46--[/jfdsdjhfuetppo]