Hallo,
ich möchte gerne einen klick button in eine Table implementieren, habe auch schon einiges dazu gefunden aber noch nichts rechtes was in mein TableModel passt.
folgendes TableModel habe ich zugrundeliegen;
nun erscheint an der stelle wo der button sein sollte nur ein seehr langer tag es steht dort etwas von javax.Swing.JButton- also die table weiß schon dass da ein button hin soll, direkt dahinter steht [0,0,0x0]invalid und noch ne ganze menge mehr( es gibt leider noch keine copy funktionalität in meine table) was aber nicht wie fehler ausschaut
vielleicht kann mir jemand sagen was genau ihm da invalid ist, ich kann doch einem JButton nur einen string als parameter mitgeben oder?
ich möchte gerne einen klick button in eine Table implementieren, habe auch schon einiges dazu gefunden aber noch nichts rechtes was in mein TableModel passt.
folgendes TableModel habe ich zugrundeliegen;
Java:
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JButton;
import javax.swing.table.AbstractTableModel;
/**
*
* @author
*
*/
public class SearchTableModel extends AbstractTableModel {
/**
* constant for switch case operation
*/
public static final int FIRSTNAME_INDEX = 0;
/**
* constant for switch case operation
*/
public static final int LASTNAME_INDEX = 1;
/**
* constant for switch case operation
*/
public static final int FIMRA_INDEX = 2;
/ /**
* constant for switch case operation
*/
public static final int PHONE_INDEX = 3;
/**
* constant for switch case operation
*/
public static final int BUTTON_INDEX = 4;
/**
*
*/
private static final long serialVersionUID = -5649469858694776311L;
/**
*
*/
private JButton m_buttonDial;
/**
*
*/
private String m_titles[] = new String[] { "Vorname", "Nachname", "Firma",
"Telefon" , "KlickButton"};
/**
*
*/
private Class<?> m_types[] = new Class[] { String.class, String.class,
String.class, String.class, JButton.class };
/**
*
*/
private List<Person> m_data = new ArrayList<Person>();
/**
* @param list
*/
public SearchTableModel(List<Person> list) {
m_data = list;
}
/**
* implement the methods of the tablemodel interface
* @return data.size()
*/
@Override
public int getRowCount() {
return m_data.size();
}
@Override
public int getColumnCount() {
return m_titles.length;
}
/**
* gets our person object the matching data
* @return null
* @param columnIndex
* @param rowIndex
*/
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Person pers = m_data.get(rowIndex);
switch (columnIndex) {
case FIRSTNAME_INDEX:
return pers.getGivenName();
case LASTNAME_INDEX:
return pers.getSn();
case FIMRA_INDEX:
return pers.getO();
case PHONE_INDEX:
return pers.getPhone();
case BUTTON_INDEX:
return callmButton();
default:
return null;
}
}
/**
* @return m_buttonDial
*/
public JButton callmButton() {
m_buttonDial = new JButton("Anrufen");
m_buttonDial.setPreferredSize(new Dimension (50, 100));
m_buttonDial.setAlignmentX(BUTTON_INDEX);
m_buttonDial.setAlignmentY(BUTTON_INDEX);
return m_buttonDial;
}
/**
* @param columnIndex
* @return types
*/
@Override
public String getColumnName(int columnIndex) {
return m_titles[columnIndex];
}
@Override
public Class<?> getColumnClass(int columnIndex) {
return m_types[columnIndex];
}
}
nun erscheint an der stelle wo der button sein sollte nur ein seehr langer tag es steht dort etwas von javax.Swing.JButton- also die table weiß schon dass da ein button hin soll, direkt dahinter steht [0,0,0x0]invalid und noch ne ganze menge mehr( es gibt leider noch keine copy funktionalität in meine table) was aber nicht wie fehler ausschaut
vielleicht kann mir jemand sagen was genau ihm da invalid ist, ich kann doch einem JButton nur einen string als parameter mitgeben oder?
Zuletzt bearbeitet: