Jtable

johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012 - 10 juin 2010 à 17:15
cherizol Messages postés 2 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 14 juin 2010 - 14 juin 2010 à 22:23
bonjour

je souhaite afficher le contenu de jtable
jtable contient 3 colonne et plusieurs ligne
avec ce code sa marche pas il me donne seulement le premier ligne
for(int i=0; i<=40;i++) {
for(int j=0; j<=3;j++)
{

System.out.println(tableModel.getValueAt(i, j) );

}
}
merci

4 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
10 juin 2010 à 17:22
qu'est ce que c'est tableModel ? la JTable ou le model ?

Le code a l'air correct, l'erreur est aillers, peux tu nous donner un code plus complet ?
0
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
10 juin 2010 à 17:49
package po;
import org.jdom.*;
import org.jdom.output.*;
import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.*;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;

public class tablee extends JPanel implements ActionListener {
String tableName;
String prettyName;
String buttonName;
int maxRows;
JTable table;
Vector rows, columns;
DefaultTableModel tableModel;
JScrollPane scrollPane;
JButton buttonAdd, buttonDelete,buttonvalider;
JPanel buttonPanel;


private void initialize() {
this.setLayout(null);
this.setSize(new Dimension(246, 166));

}

public static void main(String[] args) {
JFrame jf = new JFrame("Testframe");
jf.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {System.exit(0);}
});

tablee jsF = new tablee();
jf.getContentPane().add(jsF, BorderLayout.CENTER);
jf.pack();
jf.setVisible(true);
}

public tablee() {

rows = new Vector();
columns = new Vector();

setFocusTraversalPolicy(new DefaultFocusTraversalPolicy());
setFocusCycleRoot(true);

maxRows = 10;

String[] c = {"Nom de la colonne", "Type de donnée ", "langueur"};
addColumns(c);
tableModel = new DefaultTableModel();
tableModel.setDataVector(rows, columns);
table = new JTable(tableModel) {
public void changeSelection(int row, int column, boolean
toggle, boolean extend){
super.changeSelection(row, column, toggle, extend);
if(editCellAt(row, column))
getEditorComponent().requestFocusInWindow();
}
};
table.setSurrendersFocusOnKeystroke(true);
scrollPane = new JScrollPane(table);
table.setRowSelectionAllowed(true);



// table.setAutoResizeMode(JTable.AUTO_RESIZE_SUBSEQU ENT_COLUMNS);
setCellEditors();

buttonPanel = new JPanel();
buttonAdd = new JButton("Ajouter enregistrement ");
buttonDelete = new JButton(" affichage ");
buttonvalider=new JButton(" Valider ");
buttonPanel.add(buttonAdd);
buttonPanel.add(buttonDelete);
buttonPanel.add(buttonvalider);
buttonAdd.addActionListener(this);
buttonDelete.addActionListener(this);
buttonvalider.addActionListener(this);

setLayout(new BorderLayout());
add("Center", scrollPane);
add("South", buttonPanel);
addRow();
}
//initialize();

public void addColumns(String[] c) {
for(int i = 0; i < c.length; i++) {
columns.addElement(c[i]);
}
}

public void setCellEditors() {
TableColumn col = table.getColumnModel().getColumn(1);
Object[] vals = new Object[] {"", "binary", "char", "datetime", "decimal", "float", "image", "int", "varchar", "real"};
col.setCellEditor(new AutoCompletionComboBoxEditor(vals));
}

public static class AutoCompletionComboBoxEditor extends
AbstractCellEditor implements TableCellEditor {
JComboBox cbx;

public AutoCompletionComboBoxEditor(Object[] items){
cbx = new JComboBox(items);
}

public Component getTableCellEditorComponent(JTable table,
Object value, boolean isSelected, int row, int column) {
return cbx;
}

public Object getCellEditorValue() {
return cbx.getSelectedItem();
}
}

public void addRow() {
// if(table.getRowCount()==0 ){
Vector r = createBlankElement();





rows.add(r);
;





table.addNotify();
// }
}

public Vector createBlankElement() {
Vector t = new Vector();
t.add((String) "");
t.add((String) "");
t.add((String) "");
return t;
}

public void deleteRow(int index) {
if(index > -1){
TableCellEditor cellEditor = table.getCellEditor();
if(cellEditor!=null)
cellEditor.stopCellEditing();
((DefaultTableModel)table.getModel()).removeRow(index);
table.addNotify();
}
}



public void actionPerformed(ActionEvent source) {
if(source.getSource() == (JButton) buttonAdd){
addRow();
} else if(source.getSource() == (JButton) buttonDelete) {
// deleteRow(table.getSelectedRow());
// System.out.println("//////////"+rows);





// for (int s : table) {

//}
for(int i=0; i<=40;i++) {
for(int j=0; j<=3;j++)
{
// String a=(String) tableModel.getColumnName(i) ;
System.out.println(tableModel.getValueAt(i, j) );

}
}









}
else if(source.getSource() == (JButton) buttonvalider) {
deleteRow(table.getSelectedRow());
}
}





}
0
cherizol Messages postés 2 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 14 juin 2010
14 juin 2010 à 22:21
0
cherizol Messages postés 2 Date d'inscription mardi 25 mai 2010 Statut Membre Dernière intervention 14 juin 2010
14 juin 2010 à 22:23
Bonjour, je voudrais afficher toutes les donnees d'une table Mysql dans une jTable comment dois-je faire <merci
0
Rejoignez-nous