infodevinette
Messages postés8Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention19 août 2008
-
7 juil. 2008 à 11:40
infodevinette
Messages postés8Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention19 août 2008
-
16 juil. 2008 à 10:16
Bonjour,
je travaille actuellement avec les jtable et je voudrais ajouter une colonne entre deux colonnes déja existantes. si quelqu'un peut m'aider, je suis preneuse. merci d'avance
uhrand
Messages postés491Date d'inscriptionsamedi 20 mai 2006StatutMembreDernière intervention15 juillet 20129 9 juil. 2008 à 11:19
package demo;
/*
* TableReportDemo_2.java
* This demo shows you how to customize the JTable print function.
* As an example, we print a report header with two rows and a border,
* and we print 4 tables on one page.
*/
public JTable createTable(String name) {
String[] title = new String[]{"Title A", "Title B", "Title C", "Title D", "Title E"};
String[][] data = new String[][]{};
DefaultTableModel model = new DefaultTableModel(data, title);
JTable table = new JTable(model) {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
Component c = super.prepareRenderer(renderer, row, column);
c.setBackground(Color.WHITE); if (row 1 && column 1) {
c.setBackground(Color.BLUE); } else if (row 2 && column 3) {
c.setBackground(Color.RED);
}
return c;
}
};
table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
for (int i = 0; i < 5; i++) {
model.addRow(new String[]{"Table_" + name + " " + String.valueOf(i), "", "", "", ""});
}
table.setPreferredScrollableViewportSize(new Dimension(400, 100));
return table;
}
private void printJTable() throws PrinterException {
// possibly prepare the table for printing here first
// wrap in a try/finally so table can be restored even if something fails
try {
// fetch the printable
Printable printable = new TableReport(table1, table2, table3, table4);
PrinterJob job = PrinterJob.getPrinterJob();// fetch a PrinterJob
job.setPrintable(printable);// set the Printable on the PrinterJob
// create an attribute set to store attributes from the print dialog
PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
// display a print dialog and record whether or not the user cancels it
boolean printAccepted = job.printDialog(attr);
if (printAccepted) {// if the user didn't cancel the dialog
job.print(attr);// do the printing
}
} finally {
// possibly restore the original table state here
}
}
public static void main(final String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
new TableReportDemo_2().setVisible(true);
}
});
}
}
indiana_jules
Messages postés750Date d'inscriptionmardi 9 mars 2004StatutMembreDernière intervention23 décembre 200822 7 juil. 2008 à 13:31
Bonjour,
le TableModel qu'utilise par défaut la Jtable est plutôt du genre statique. Pour ce faire, il te suffit juste de redéfinir un TableModel (en utilisant un AbstractTableModel), où tu pourras rajouter une méthode d'ajout / de suppression de colonne (vu que ce sera là que ta matrice de données sera présente).
infodevinette
Messages postés8Date d'inscriptionlundi 21 janvier 2008StatutMembreDernière intervention19 août 2008 9 juil. 2008 à 09:14
merci beaucoup, j'ai deux autres petites questions la premiere , C'est que je veux imprimer 4 tables dans la meme page j'ai fait :
table.print()
table1.print()
....
et ca imprime chaque table dans une page.
et la seconde est que je voudrais colorer le fond de quelques cellules de differentes couleurs, merci d'avance.