kenikavanbis
Terugkerende gebruiker
- Lid geworden
- 22 mei 2007
- Berichten
- 2.195
Dus ik heb een tabel die word gevuld met waarden (vector) maar als ik dan druk op de knop doet hij niets maar ik zie niet waar ik mis (line 53)
DeleteAction.java
PHP:
package be.djdb.dualfile.sys2.table;
import java.awt.event.ActionListener;
import java.io.File;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.table.AbstractTableModel;
import be.djdb.Statics;
import be.djdb.UnConstruct;
import be.djdb.dualfile.sys2.MyFileItem;
@UnConstruct
public class DeleteTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private Vector<MyFileItem> todel = new Vector<MyFileItem>();
private static final String columnNames[] = {"name", "Digest","delete" };
public DeleteTableModel(Vector<MyFileItem> todel) {
this.todel = todel;
}
public int getColumnCount() {
return columnNames.length;
}
public synchronized void add(MyFileItem item) {
todel.addElement(item);
}
/*
* (non-Javadoc)
* @see javax.swing.table.AbstractTableModel#getColumnName(int)
*/
public String getColumnName(int column) {
return columnNames[column];
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getRowCount()
*/
public int getRowCount() {
return todel.size();
}
/* (non-Javadoc)
* @see javax.swing.table.TableModel#getValueAt(int, int)
*/
public Object getValueAt(int row, int column) {
try {
MyFileItem line = todel.elementAt(row);
if (column == 0) {
return line.filename;
} else if (column == 1) {
return line.getdigest();
} else if (column == 2) {//Hier wordt de Jbutton gemaakt
return new DelJButton(line.filename,new DeleteAction(line.getfullname()));
}
}catch(ArrayIndexOutOfBoundsException ae){
log(Level.ALL, "<ERROR: getValueAt>ArrayIndexOutOfBoundsException the row/col is not availeble");
}catch(Exception e){
log(Level.FINEST, "<ERROR: getValueAt> <FINEST>"+e+"</FINEST>");
}
return null;
}
/* (non-Javadoc)
* @see javax.swing.table.AbstractTableModel#getColumnClass(int)
*/
public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}
public boolean isCellEditable(int row, int col) {
return false;
}
/**public void setValueAt(Object value, int row, int col) {
}*/
private static void log(Level level, String msg ){
String tag ="";
Logger.getLogger(DeleteTableModel.class.getName()).log(level, tag + msg);
}
private void printDebugData() {
int numRows = getRowCount();
int numCols = getColumnCount();
log(Level.FINEST,"-<start>-");
for (int i=0; i < numRows; i++) {
log(Level.FINEST," row " + i + ":");
for (int j=0; j < numCols; j++) {
log(Level.FINEST," + data[i][j]");
}
}
log(Level.FINEST,"-<end>-");
}
}
class DelJButton extends JButton{
private static final long serialVersionUID = -6568381789891475747L;
public DelJButton() {
super("delete");
setEnabled(false);
}
public DelJButton(String lbl) {
super("delete");
setEnabled(false);
}
public DelJButton(String lbl, ActionListener action){
super("delete");
this.addActionListener(action);
}
}
Code:
package be.djdb.dualfile.sys2.table;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class DeleteAction implements ActionListener{
private String fname;
public DeleteAction(String fname) {
this.fname = fname;
}
public void actionPerformed(ActionEvent evt) {
System.out.println("test"+fname);
}
}
Laatst bewerkt: