OK postoil codice:
questa è la classe che mi compone la tabella e la restituisce alla classe principale, la frame,
la quale inserisce la tabella in un JScrollPane:
public class ComposizioneTabella
{
public static JTable getTabellaFinale(final Object[][]valori, int video )
{
//Questa mi dà le informazioni
Info infotmp=new Info();
//Nomi delle colonne
Object[] tableHeaders = {"Immagini", "Info"};
Object[][] tableData =new Object[video][3];
for (int i = 0; i < video; i++)
{
System.out.println(i+") "+valori[i][3]);
ImageIcon tmp = null;
JLabel tmpBottone=new JLabel();
try {
tmp = new ImageIcon(new URL((String) valori[i][3]));
tmpBottone.setIcon(tmp);
} catch (MalformedURLException e) {
e.printStackTrace();}
tableData[i][0]=tmpBottone;
tableData[i][1]=infotmp.getInfo(i);
}
// Creo il modello della tabella e l'applico ad un istanza di Jtable
TableModel tableModel = new DefaultTableModel(tableData, tableHeaders);
((DefaultTableModel)tableModel).fireTableDataChang ed();
final JTable table = new JTable();
table.setModel(tableModel);
// Alla terza colonna,identificata per nome, applico l'editor e il
// render personalizzati.
table.getColumn("Immagini").setCellRenderer(new PanelRender());
table.getColumn("Immagini").setCellEditor(new PanelEditor());
table.getColumn("Info").setCellRenderer(new PanelRender());
table.getColumn("Info").setCellEditor(new PanelEditor());
table.setRowHeight(100);
table.setShowGrid(false);
table.addMouseListener(new MouseListener()
{
public void mouseClicked(MouseEvent mouse)
{
int x = mouse.getX();
int y = mouse.getY();
int columnIndex = table.columnAtPoint( new Point(x,y) );
int rigaIndex=table.rowAtPoint(new Point(x,y));
URL apri = null;
System.out.println("Riga: "+ rigaIndex);
String url=(String)valori[rigaIndex][2];
Runtime r= Runtime.getRuntime();
try {
Process p=r.exec("explorer \""+url);
} catch (Exception e1)
{
e1.printStackTrace();}
}
// FIne CLASSE
Credo che le modifiche le debba fare qui
Nella classe Frame dentro l'ActionListener ho scritto questo:
JTable result=ComposizioneTabella.getTabellaFinale(valori , estrai.getNumVideo());
jstabris=new JScrollPane(result);
jstabris.repaint();
getContentPane().add(jstabris,BorderLayout.CENTER) ;
Grazie per ora![]()

Rispondi quotando
