in pratica il mio programma estrapola dalle pagine web il numero di script presenti, però cè una differenza, prima di avviare il programma metto tutte le pagini web, in una cartella e il programma
ci lavora sopra...calcola tutte le informazioni delle pagini e li "mette" in un database...dopodichè da questo database li carico in un JTable a video, con in mezzo utlizzando l'AbstractTableModel, per rendere la tabella più "carina"
questa è la classe che mi permette di visualizzare bene la tabella
codice:
class MyTableModel extends AbstractTableModel
{ public MouseEvent e;
public Object[][] data =new Object[99][6];//data rappresenta la tabella delle pagini
public Object[][] data_script =new Object[0][8];//data_script rappresenta la tabella degli script
public JTable tt= new JTable();
private boolean DEBUG = false;
private String[] columnNames ={"nome pagina", "indirizzo", "path", "dimensione","numero file", "codice", "data estrazione"};
private String[] columnNamesScript ={"seleziona","nome", "tipo", "scopo", "data estrazione","provenienza", "client/server", "frequenza utilizzo", "codice"};
private MouseListener mouseListener;
private TableModelListener tableModelListener;
private boolean flag = false;
public int c=0;
public void MyTable_script(Object[][] data_script) {
flag = true;
this.data_script= data_script; }
public void MyTable(Object[][] data) {
this.data= data;}
public int getColumnCount() {if (flag == false) {return columnNames.length;}
else {return columnNamesScript.length;
} }
public int getRowCount() {return data.length;}
public String getColumnName(int col) {if (flag == false) {return columnNames[col];}
else {
return columnNamesScript[col];
} }
public Object getValueAt(int row, int col)
{
try {
}
catch(ArrayIndexOutOfBoundsException e){}
if (flag == false) {
return data[row][col];
}
else {
return data_script[row][col];
}
}
//QUESTA CLASSE MI PERMETTE DI VISUALIZZARE IL FLAG IN TABELLA
public Class getColumnClass(int c) {return getValueAt(0, c).getClass();}
public boolean isCellEditable(int row, int col) {
if (col < 0) {
return false;
} else {
return true;
}
}
/* public void setValueAt(Object value, int row, int col) {
if (DEBUG) {
System.out.println("Setting value at " + row + "," + col
+ " to " + value
+ " (an instance of "
+ value.getClass() + ")");
}
data[row][col] = value;
fireTableCellUpdated(row, col);
if (DEBUG) {
System.out.println("New value of data:");
printDebugData();
}
}*/
/* private void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
for (int i=0; i < numRows; i++) {
System.out.print(" row " + i + ":");
for (int j=0; j < numCols; j++) {
System.out.print(" " + data[i][j]);
}
System.out.println();
}
System.out.println("--------------------------");
} */
public void setUpSportColumn(JTable table,TableColumn colonna) {
// colonna.setCellEditor(new DefaultCellEditor(comboBox));
//settaggio caratteristiche della cella (renderer)
DefaultTableCellRenderer renderer = new DefaultTableCellRenderer();
renderer.setToolTipText("Clicca per vedere il codice");
renderer.setForeground(java.awt.Color.RED);
colonna.setCellRenderer(renderer);
}
}
il rigo rosso dove cè il problema, ho visto ma nn cè nessun ciclo