FilteringTableModel<Object> () { DefaultTableModel model = new DefaultTableModel(getUIDefaultsData(), new Object[]{"Name", "Value"}) { @Override public boolean isCellEditable(int row, int column) { if (column != 1) return false; Object value = ((Pair<?, ?>)getValueAt(row, column)).second; return (value instanceof Color || value instanceof Boolean || value instanceof Integer || value instanceof Float || value instanceof EmptyBorder || value instanceof Insets || value instanceof GrayFilter || value instanceof Font || value instanceof Dimension); } }; FilteringTableModel<Object> filteringTableModel = new FilteringTableModel<>(model, Object.class); filteringTableModel.setFilter(null); return filteringTableModel; }