Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[java] Table model met een Jbuton en actionlistener

Pagina: 1
Acties:
  • 149 views

Verwijderd

Topicstarter
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)

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);
}
}

DeleteAction.java

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);
}
}

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Ja :w We zijn je persoonlijke debug-service niet :X

Debuggen: Hoe doe ik dat?
Kan iemand even...?
Hoe post je code? (en beperk je dan tot relevante(!) (delen) code).

Maar vooral: gebruik onze Quickstart als je een topic opent. Je had op z'n minst de moeite kunnen nemen een fatsoenlijke TS te maken i.p.v. anderhalve regel "hij doet 't niet :'( " zonder verdere informatie en dan gewoon je code te dumpen.

En zet, for Pete's sake, eens wat commentaar in je code. Tjeeeez.

[ Voor 121% gewijzigd door RobIII op 04-05-2011 21:46 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Dit topic is gesloten.