Hey co mam tutaj źle? Chciałbym żeby w każdej komórce było JButton i każde żeby inaczej reagowało na kliknięcie. Proszę mnie najpierw nakierować gdzie mam błąd.
import java.awt.;
import java.awt.event.;
import java.util.*;
import javax.swing.;
import javax.swing.event.CellEditorListener;
import javax.swing.table.;
import java.util.EventObject;
public class mojeRenderer extends JFrame implements WindowListener,ActionListener
{
DefaultTableModel tabModel1;
JTable tabela;
JTable b;
public mojeRenderer()
{
super();
addWindowListener(this);
setSize(300,300);
setTitle("kalendarz");
setLayout(null);
setVisible(true);
tabModel1 = new DefaultTableModel(){
public boolean isCellEditable(int x, int y) {
return false;
}
};
System.out.println("uruchamia");
-
pierwsza tabela*
tabModel1.setColumnCount(7);
tabModel1.setNumRows(6);
tabela=new JTable(tabModel1);
tabela.setRowHeight(32);//bylo 34
tabela.setBorder(BorderFactory.createLineBorder(Color.black));
tabela.getColumnModel().getColumn(0).setPreferredWidth(200);
tabela.getColumnModel().getColumn(1).setPreferredWidth(200);
tabela.getColumnModel().getColumn(2).setPreferredWidth(200);
tabela.getColumnModel().getColumn(3).setPreferredWidth(200);
tabela.getColumnModel().getColumn(4).setPreferredWidth(200);
tabela.getColumnModel().getColumn(5).setPreferredWidth(200);
tabela.getColumnModel().getColumn(6).setPreferredWidth(200);
tabela.setBounds(100,100,300,300);
tabela.setValueAt("heyka",1,2);
tabela.setVisible(true);
this.add(tabela);
TableColumn td = tabela.getColumnModel().getColumn(1);
MojRenderer mojRenderer = new MojRenderer();
td.setCellRenderer(mojRenderer);
MojEditor mojEditor = new MojEditor();
td.setCellEditor(mojEditor);
}
public static void main(String[] args)
{
new mojeRenderer();
}
class MojRenderer implements TableCellRenderer {
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasValue, int row, int column) {
JButton b = new JButton("Przycisk");
return b;
}
}
class MojEditor implements TableCellEditor {
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column) {
// JButton b = new JButton("Przycisk");
// b.addActionListener(new ActionListener()
JButton b = new JButton();
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent evt) {
System.out.println("dziala");
// JOptionPane.showConfirmDialog(null, "Reaguje", "", JOptionPane.CLOSED_OPTION);
}
});
return b;
}
public void removeCellEditorListener(CellEditorListener cl) {
}
public void addCellEditorListener(CellEditorListener cl) {
}
public boolean shouldSelectCell(EventObject ev) {
return true;
}
public boolean isCellEditable(EventObject ev) {
return true;
}
public Object getCellEditorValue() {
return null;
}
public boolean stopCellEditing() {
return true;
}
public void cancelCellEditing() {
}
}
public void actionPerformed(ActionEvent evt){
}
public void windowClosing(WindowEvent evt){
System.exit(0);
}
public void windowClosed(WindowEvent evt){
}
public void windowOpened(WindowEvent evt){
}
public void windowIconified(WindowEvent evt){
}
public void windowDeiconified(WindowEvent evt){
}
public void windowActivated(WindowEvent evt){
}
public void windowDeactivated(WindowEvent evt){
}
}
Pozdrawiam