Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

JTable et jdbc (encore....)

4 réponses
Avatar
gilles
Bonjour,

Suite à mon précédent post, j'ai eu peu de réponses et la réponse concernant
le tutoriel sun m'a peu aidée.
J'essaie de reformuler ma question.
J'ai un jPanel qui contient une combobox et un Jtable.
Je precise que la combo est à l'extérieur du Jtable.
En fonction de l'item choisi dans la combo, une base de données est
interrogée et toutes les données de la jtable sont modifiées.
Je cherche dc donc un exmple très simple reprenant ce cas de figure.
J'ai du mal à comprendre AbstractTableModel.
Comment puis -je faire passer les nouvelles données dans le modèle pour
chaque requête. En effet, la classe interne (AbstractTableModel) n'accepte
pas les données de la classe qui la contient. (message d'erreur de
jBuilder), le vecteur de données doit etre déclaré absolument ds la classe
interne.

Merci.

gilles

4 réponses

Avatar
Farid
J'ai fait un truc dernierement un peu similaire.
j'avais 2 JList (elles aussi ont un systems de model..)
et en fonction de la selection des elements dans une list ou l'autre je
activait ou pas (enable) des jButtons du genre add, remove,etc...
Ces buttons quand active par l'utilisateur permettait d'enlever le/les
elements selectionne d'une des listes vers l'autre ou vice-versa...

Je peux poster la classe de la JList si tu veux voir comment j'utilise sa
DefaultListModel ?

c'est ce dont tu as besoin ?

Farid.


"gilles" wrote in message
news:40771328$0$512$
Bonjour,

Suite à mon précédent post, j'ai eu peu de réponses et la réponse
concernant

le tutoriel sun m'a peu aidée.
J'essaie de reformuler ma question.
J'ai un jPanel qui contient une combobox et un Jtable.
Je precise que la combo est à l'extérieur du Jtable.
En fonction de l'item choisi dans la combo, une base de données est
interrogée et toutes les données de la jtable sont modifiées.
Je cherche dc donc un exmple très simple reprenant ce cas de figure.
J'ai du mal à comprendre AbstractTableModel.
Comment puis -je faire passer les nouvelles données dans le modèle pour
chaque requête. En effet, la classe interne (AbstractTableModel)
n'accepte

pas les données de la classe qui la contient. (message d'erreur de
jBuilder), le vecteur de données doit etre déclaré absolument ds la classe
interne.

Merci.

gilles




Avatar
Bernard Koninckx
Bonjour,

Je devrai vraissemblalement faire la même chose pour mon projet et sui
intéressé pour que tu poste le code de ta classe. Je me pose effectivement
la même question.

Un grand merci d'avance

Bernard

"Farid" a écrit dans le message de news:
40771dfe$0$20168$
J'ai fait un truc dernierement un peu similaire.
j'avais 2 JList (elles aussi ont un systems de model..)
et en fonction de la selection des elements dans une list ou l'autre je
activait ou pas (enable) des jButtons du genre add, remove,etc...
Ces buttons quand active par l'utilisateur permettait d'enlever le/les
elements selectionne d'une des listes vers l'autre ou vice-versa...

Je peux poster la classe de la JList si tu veux voir comment j'utilise sa
DefaultListModel ?

c'est ce dont tu as besoin ?

Farid.


"gilles" wrote in message
news:40771328$0$512$
Bonjour,

Suite à mon précédent post, j'ai eu peu de réponses et la réponse
concernant

le tutoriel sun m'a peu aidée.
J'essaie de reformuler ma question.
J'ai un jPanel qui contient une combobox et un Jtable.
Je precise que la combo est à l'extérieur du Jtable.
En fonction de l'item choisi dans la combo, une base de données est
interrogée et toutes les données de la jtable sont modifiées.
Je cherche dc donc un exmple très simple reprenant ce cas de figure.
J'ai du mal à comprendre AbstractTableModel.
Comment puis -je faire passer les nouvelles données dans le modèle pour
chaque requête. En effet, la classe interne (AbstractTableModel)
n'accepte

pas les données de la classe qui la contient. (message d'erreur de
jBuilder), le vecteur de données doit etre déclaré absolument ds la
classe


interne.

Merci.

gilles








Avatar
Farid
voici le code de la jlist que j'utilises.
y a pas grands chose de compliquer dedans. enfi si ca peut aider:
PS, remplace les IProducts par les objects qui doivent etre ajouter a une
liste et creer la methode toString() dans ces objects !
import javax.swing.DefaultListModel;
import javax.swing.JList;

public class ProductList extends JList
{
private DefaultListModel listProducts;

public ProductList(int nbItemsVisible, String refSizeContent)
{
super();

//Visible Attributes
setPrototypeCellValue(refSizeContent);
setVisibleRowCount(nbItemsVisible);

//Setting Attributes
listProducts = new DefaultListModel();
setModel(listProducts);
}

public void addProduct(IProduct[] products)
{
for (int idx = 0; products != null && idx < products.length; idx++)
addProduct(products[idx]);
}

public void addProduct(IProduct product)
{
if (product != null && !listProducts.contains(product))
listProducts.addElement(product);
}

public void removeProduct(IProduct[] products)
{
for (int idx = 0; products != null && idx < products.length; idx++)
removeProduct(products[idx]);
}

public void removeProduct(IProduct product)
{
if (product != null)
listProducts.removeElement(product);
}

public IProduct[] getAll()
{
IProduct[] products = null;
if (listProducts.size() > 0)
{
products = new IProduct[listProducts.size()];
for (int idx = 0; idx < products.length; idx++)
{
products[idx] = (IProduct) listProducts.get(idx);
}
}
return products;
}

public IProduct[] getSelectedProducts()
{
IProduct[] products = null;
int[] indexes = getSelectedIndices();
if (indexes != null && indexes.length > 0)
{
products = new IProduct[indexes.length];
for (int idx = 0; idx < indexes.length; idx++)
{
products[idx] = (IProduct) listProducts.get(indexes[idx]);
}
}
return products;
}
}

Farid.

"Bernard Koninckx" wrote in message
news:40790a47$0$1368$
Bonjour,

Je devrai vraissemblalement faire la même chose pour mon projet et sui
intéressé pour que tu poste le code de ta classe. Je me pose effectivement
la même question.

Un grand merci d'avance

Bernard

"Farid" a écrit dans le message de news:
40771dfe$0$20168$
J'ai fait un truc dernierement un peu similaire.
j'avais 2 JList (elles aussi ont un systems de model..)
et en fonction de la selection des elements dans une list ou l'autre je
activait ou pas (enable) des jButtons du genre add, remove,etc...
Ces buttons quand active par l'utilisateur permettait d'enlever le/les
elements selectionne d'une des listes vers l'autre ou vice-versa...

Je peux poster la classe de la JList si tu veux voir comment j'utilise
sa


DefaultListModel ?

c'est ce dont tu as besoin ?

Farid.


"gilles" wrote in message
news:40771328$0$512$
Bonjour,

Suite à mon précédent post, j'ai eu peu de réponses et la réponse
concernant

le tutoriel sun m'a peu aidée.
J'essaie de reformuler ma question.
J'ai un jPanel qui contient une combobox et un Jtable.
Je precise que la combo est à l'extérieur du Jtable.
En fonction de l'item choisi dans la combo, une base de données est
interrogée et toutes les données de la jtable sont modifiées.
Je cherche dc donc un exmple très simple reprenant ce cas de figure.
J'ai du mal à comprendre AbstractTableModel.
Comment puis -je faire passer les nouvelles données dans le modèle
pour



chaque requête. En effet, la classe interne (AbstractTableModel)
n'accepte

pas les données de la classe qui la contient. (message d'erreur de
jBuilder), le vecteur de données doit etre déclaré absolument ds la
classe


interne.

Merci.

gilles












Avatar
gilles
Bonjour,
Merci.
Je pense avoir trouvé ce qu'il faut avec DedaultTableModel.

--

gilles