Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Arnaud Berger
Bonjour,
Ca doit être faisable en créant son propre ListModel qui encapsule le ResultSet. Il ne reste alors plus qu'à utiliser le constructeur JList(Listmodel model) .
Est-il indispensable d'utiliser le ResultSet lui-même ? En effet, les ressources JDBC ne seront pas libérées tant que ResultSet, Statement et Connexion ne sont pas fermés. Autant peut-être "copier" le contenu du ResultSet dans un autre objet, qu'encapsulera le ListModel (un Vector ou ArrayList peut-être).
Cordialement,
Arnaud
"Ataya" a écrit dans le message news:
Bonjour,
Le probleme est simple je dispose d'une Jlist et d'un ResultSet: Comment afficher le contenu de mon resultset dans ma jlist?
J'ai bien essayé de transformer mon resultset en tableau (et sa marche d'ailleurs) mais sur le principe ca me semble un peu compliqué.
Y a il une solution plus simple?
Ais-je choisi un mauvais composant (La Jlist n'est peut etre pas adaptée au resultset)?
D'avance merci.
Bonjour,
Ca doit être faisable en créant son propre ListModel qui encapsule le
ResultSet.
Il ne reste alors plus qu'à utiliser le constructeur JList(Listmodel model)
.
Est-il indispensable d'utiliser le ResultSet lui-même ?
En effet, les ressources JDBC ne seront pas libérées tant que ResultSet,
Statement et Connexion
ne sont pas fermés.
Autant peut-être "copier" le contenu du ResultSet dans un autre objet,
qu'encapsulera le ListModel
(un Vector ou ArrayList peut-être).
Cordialement,
Arnaud
"Ataya" <sebastien_teisseire@hotmail.com> a écrit dans le message news:
1113193622.217651.243940@z14g2000cwz.googlegroups.com...
Bonjour,
Le probleme est simple je dispose d'une Jlist et d'un ResultSet:
Comment afficher le contenu de mon resultset dans ma jlist?
J'ai bien essayé de transformer mon resultset en tableau (et sa marche
d'ailleurs) mais sur le principe ca me semble un peu compliqué.
Y a il une solution plus simple?
Ais-je choisi un mauvais composant (La Jlist n'est peut etre pas
adaptée au resultset)?
Ca doit être faisable en créant son propre ListModel qui encapsule le ResultSet. Il ne reste alors plus qu'à utiliser le constructeur JList(Listmodel model) .
Est-il indispensable d'utiliser le ResultSet lui-même ? En effet, les ressources JDBC ne seront pas libérées tant que ResultSet, Statement et Connexion ne sont pas fermés. Autant peut-être "copier" le contenu du ResultSet dans un autre objet, qu'encapsulera le ListModel (un Vector ou ArrayList peut-être).
Cordialement,
Arnaud
"Ataya" a écrit dans le message news:
Bonjour,
Le probleme est simple je dispose d'une Jlist et d'un ResultSet: Comment afficher le contenu de mon resultset dans ma jlist?
J'ai bien essayé de transformer mon resultset en tableau (et sa marche d'ailleurs) mais sur le principe ca me semble un peu compliqué.
Y a il une solution plus simple?
Ais-je choisi un mauvais composant (La Jlist n'est peut etre pas adaptée au resultset)?
D'avance merci.
Arnaud Berger
J'ajoute qu'une JTable est plus adpatée à l'affichage d'un ResultSet :
Voici un exemple de TableModel qu'utilisent les JTable. Il provient d'un source du projet Hypersonic SQL.
Il suffit de passer un tableau d'en-têtes de colonnes (cf. setHead) Puis, passer le contenu du ResultSet, ligne à ligne, à "addRow" (chaque ligne/enregistrement doit être passé sous forme d'un tableau de String , c-à-d les valeurs de la ligne).
Enfin, maTable.setModel(monModel);
import java.util.Vector; import javax.swing.table.*; /** Simple table model to represent a grid of tuples. * * @version 1.7.0 */ // 20020401 - patch 1.7.0 by sqlbob (RMP) - enhancements public class GridSwing extends AbstractTableModel { String[] headers; Vector rows; /** * Default constructor. */ public GridSwing() { super(); headers = new String[0]; // initially empty rows = new Vector(); // initially empty } /** * Get the name for the specified column. */ public String getColumnName(int i) { return headers[i]; } /** * Get the number of columns. */ public int getColumnCount() { return headers.length; } /** * Get the number of rows currently in the table. */ public int getRowCount() { return rows.size(); } /** * Get the current column headings. */ public String[] getHead() { return headers; } /** * Get the current table data. * Each row is represented as a <code>String[]</code> * with a single non-null value in the 0-relative * column position. * <p>The first row is at offset 0, the nth row at offset n etc. */ public Vector getData() { return rows; } /** * Get the object at the specified cell location. */ public Object getValueAt(int row, int col) { return ((String[]) rows.elementAt(row))[col]; } /** * Set the name of the column headings. */ public void setHead(String[] h) { headers = new String[h.length]; // System.arraycopy(h, 0, headers, 0, h.length); for (int i = 0; i < h.length; i++) { headers[i] = h[i]; } } /** * Append a tuple to the end of the table. */ public void addRow(String[] r) { String[] row = new String[r.length]; // System.arraycopy(r, 0, row, 0, r.length); for (int i = 0; i < r.length; i++) { row[i] = r[i]; if (row[i] == null) { row[i] = "(null)"; } } rows.addElement(row); } /** * Remove data from all cells in the table (without * affecting the current headings). */ public void clear() { rows.removeAllElements(); } }
Cordialement,
Arnaud
"Ataya" a écrit dans le message news:
Bonjour,
Le probleme est simple je dispose d'une Jlist et d'un ResultSet: Comment afficher le contenu de mon resultset dans ma jlist?
J'ai bien essayé de transformer mon resultset en tableau (et sa marche d'ailleurs) mais sur le principe ca me semble un peu compliqué.
Y a il une solution plus simple?
Ais-je choisi un mauvais composant (La Jlist n'est peut etre pas adaptée au resultset)?
D'avance merci.
J'ajoute qu'une JTable est plus adpatée à l'affichage d'un ResultSet :
Voici un exemple de TableModel qu'utilisent les JTable.
Il provient d'un source du projet Hypersonic SQL.
Il suffit de passer un tableau d'en-têtes de colonnes (cf. setHead)
Puis, passer le contenu du ResultSet, ligne à ligne, à "addRow" (chaque
ligne/enregistrement doit
être passé sous forme d'un tableau de String , c-à-d les valeurs de la
ligne).
Enfin, maTable.setModel(monModel);
import java.util.Vector;
import javax.swing.table.*;
/** Simple table model to represent a grid of tuples.
*
* @version 1.7.0
*/
// sqlbob@users 20020401 - patch 1.7.0 by sqlbob (RMP) - enhancements
public class GridSwing extends AbstractTableModel {
String[] headers;
Vector rows;
/**
* Default constructor.
*/
public GridSwing() {
super();
headers = new String[0]; // initially empty
rows = new Vector(); // initially empty
}
/**
* Get the name for the specified column.
*/
public String getColumnName(int i) {
return headers[i];
}
/**
* Get the number of columns.
*/
public int getColumnCount() {
return headers.length;
}
/**
* Get the number of rows currently in the table.
*/
public int getRowCount() {
return rows.size();
}
/**
* Get the current column headings.
*/
public String[] getHead() {
return headers;
}
/**
* Get the current table data.
* Each row is represented as a <code>String[]</code>
* with a single non-null value in the 0-relative
* column position.
* <p>The first row is at offset 0, the nth row at offset n etc.
*/
public Vector getData() {
return rows;
}
/**
* Get the object at the specified cell location.
*/
public Object getValueAt(int row, int col) {
return ((String[]) rows.elementAt(row))[col];
}
/**
* Set the name of the column headings.
*/
public void setHead(String[] h) {
headers = new String[h.length];
// System.arraycopy(h, 0, headers, 0, h.length);
for (int i = 0; i < h.length; i++) {
headers[i] = h[i];
}
}
/**
* Append a tuple to the end of the table.
*/
public void addRow(String[] r) {
String[] row = new String[r.length];
// System.arraycopy(r, 0, row, 0, r.length);
for (int i = 0; i < r.length; i++) {
row[i] = r[i];
if (row[i] == null) {
row[i] = "(null)";
}
}
rows.addElement(row);
}
/**
* Remove data from all cells in the table (without
* affecting the current headings).
*/
public void clear() {
rows.removeAllElements();
}
}
Cordialement,
Arnaud
"Ataya" <sebastien_teisseire@hotmail.com> a écrit dans le message news:
1113193622.217651.243940@z14g2000cwz.googlegroups.com...
Bonjour,
Le probleme est simple je dispose d'une Jlist et d'un ResultSet:
Comment afficher le contenu de mon resultset dans ma jlist?
J'ai bien essayé de transformer mon resultset en tableau (et sa marche
d'ailleurs) mais sur le principe ca me semble un peu compliqué.
Y a il une solution plus simple?
Ais-je choisi un mauvais composant (La Jlist n'est peut etre pas
adaptée au resultset)?
J'ajoute qu'une JTable est plus adpatée à l'affichage d'un ResultSet :
Voici un exemple de TableModel qu'utilisent les JTable. Il provient d'un source du projet Hypersonic SQL.
Il suffit de passer un tableau d'en-têtes de colonnes (cf. setHead) Puis, passer le contenu du ResultSet, ligne à ligne, à "addRow" (chaque ligne/enregistrement doit être passé sous forme d'un tableau de String , c-à-d les valeurs de la ligne).
Enfin, maTable.setModel(monModel);
import java.util.Vector; import javax.swing.table.*; /** Simple table model to represent a grid of tuples. * * @version 1.7.0 */ // 20020401 - patch 1.7.0 by sqlbob (RMP) - enhancements public class GridSwing extends AbstractTableModel { String[] headers; Vector rows; /** * Default constructor. */ public GridSwing() { super(); headers = new String[0]; // initially empty rows = new Vector(); // initially empty } /** * Get the name for the specified column. */ public String getColumnName(int i) { return headers[i]; } /** * Get the number of columns. */ public int getColumnCount() { return headers.length; } /** * Get the number of rows currently in the table. */ public int getRowCount() { return rows.size(); } /** * Get the current column headings. */ public String[] getHead() { return headers; } /** * Get the current table data. * Each row is represented as a <code>String[]</code> * with a single non-null value in the 0-relative * column position. * <p>The first row is at offset 0, the nth row at offset n etc. */ public Vector getData() { return rows; } /** * Get the object at the specified cell location. */ public Object getValueAt(int row, int col) { return ((String[]) rows.elementAt(row))[col]; } /** * Set the name of the column headings. */ public void setHead(String[] h) { headers = new String[h.length]; // System.arraycopy(h, 0, headers, 0, h.length); for (int i = 0; i < h.length; i++) { headers[i] = h[i]; } } /** * Append a tuple to the end of the table. */ public void addRow(String[] r) { String[] row = new String[r.length]; // System.arraycopy(r, 0, row, 0, r.length); for (int i = 0; i < r.length; i++) { row[i] = r[i]; if (row[i] == null) { row[i] = "(null)"; } } rows.addElement(row); } /** * Remove data from all cells in the table (without * affecting the current headings). */ public void clear() { rows.removeAllElements(); } }
Cordialement,
Arnaud
"Ataya" a écrit dans le message news:
Bonjour,
Le probleme est simple je dispose d'une Jlist et d'un ResultSet: Comment afficher le contenu de mon resultset dans ma jlist?
J'ai bien essayé de transformer mon resultset en tableau (et sa marche d'ailleurs) mais sur le principe ca me semble un peu compliqué.
Y a il une solution plus simple?
Ais-je choisi un mauvais composant (La Jlist n'est peut etre pas adaptée au resultset)?