Java tutorial
import java.awt.Component; import javax.swing.DefaultCellEditor; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableCellRenderer; public class Main extends JFrame { public Main() { DefaultTableModel m = new DefaultTableModel(new Object[][] { { "2", 2, 3 }, { "1", 4, 5 } }, new Object[] { 1, 2, 3 }); JTable t = new JTable(m); t.getColumnModel().getColumn(0) .setCellEditor(new DefaultCellEditor(new JComboBox(new String[] { "1", "2" }))); t.getColumnModel().getColumn(0).setCellRenderer(getCellRenderer()); t.setRowHeight(25); getContentPane().add(new JScrollPane(t)); pack(); } private TableCellRenderer getCellRenderer() { return new TableCellRenderer() { JComboBox<String> box = new JComboBox<>(new String[] { "1", "2" }); @Override public Component getTableCellRendererComponent(JTable arg0, Object arg1, boolean arg2, boolean arg3, int arg4, int arg5) { box.setSelectedItem(arg1); return box; } }; } public static void main(String[] args) throws InterruptedException { Main ex = new Main(); ex.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ex.setVisible(true); } }