Java

Editable JTable

Apr 20, 2015

Editable JTable

EditableTable.java
import javax.swing.DefaultCellEditor;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.TableModel;
import java.awt.*;

public class EditableTable extends JFrame
{
 EditableTable()
 {
  super("Editable Table");
  setSize(500,500);
 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 Container c=getContentPane();

       String[] columnTitles = { "First Name", "Last Name", "weight", "Qualification", "age(18+)" };
        Object[][] dataEntries = {
        { "Rahul", "Jain", new Integer(50), "B-tech", new Boolean(false) },
        { "Ruturaj", "Kokate", new Integer(80), "PG", new Boolean(true) },


        { "Akshay ", "Shinde", new Integer(80), "Msc", new Boolean(true) },


        { "Gaurav", "Deshpande", new Integer(80), "Bsc", new Boolean(true) },
        { "Amey", "Barve", new Integer(80), "PG", new Boolean(true) },
        { "Rahil", "Arai", new Integer(70), "Gratuate", new Boolean(false) },
        { "Manik", "Pawar", new Integer(55), "12TH", new Boolean(true) }, };

        TableModel model = new EditableTableModel(columnTitles, dataEntries);

        JTable table = new JTable(model);

        table.createDefaultColumnsFromModel();

        String[] Education = { "PG","Msc", "B-Tech,","Bsc", "12th", "10th" };

        JComboBox comboBox = new JComboBox(Education);

        table.getColumnModel().getColumn(3).setCellEditor(new DefaultCellEditor(comboBox));

        c.add(new JScrollPane(table));


setVisible(true);
 }
    public static void main(String[] a)
    {
        new EditableTable();
        }
    }
     class EditableTableModel extends AbstractTableModel
    {
        String[] columnTitles;
        Object[][] dataEntries;
        int rowCount;
        public EditableTableModel(String[] columnTitles, Object[][] dataEntries)
        {
            this.columnTitles = columnTitles;
            this.dataEntries = dataEntries;
        }
        public int getRowCount()
        {
            return dataEntries.length;
        }
        public int getColumnCount()
        {
            return columnTitles.length;
        }
        public Object getValueAt(int row, int column)
        {
            return dataEntries[row][column];
        }
        public String getColumnName(int column)
        {
            return columnTitles[column];
        }
        public Class getColumnClass(int column)
        {
            return getValueAt(0, column).getClass();
        }
        public boolean isCellEditable(int row, int column)
        {
            return true;
        }
        public void setValueAt(Object value, int row, int column)
        {
             dataEntries[row][column] = value;
        }
    }

---------------Output-------------------

Related Posts

language_img
Java

Working of String

Apr 19, 2015

Table Of Contents

;